Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4647819

RFE: Task Switching in java.awt.Robot - provide more windowing system info

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: P5 P5
    • None
    • 1.4.0
    • client-libs
    • Fix Understood
    • x86
    • windows_nt



      Name: jk109818 Date: 03/05/2002


      FULL PRODUCT VERSION :
      java version "1.4.0"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
      Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)

      FULL OPERATING SYSTEM VERSION :

      Windows NT Version 4.0

      ADDITIONAL OPERATING SYSTEMS :

      (All, missing feature)

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      None relevant.

      A DESCRIPTION OF THE PROBLEM :
      The java.awt.Robot class should provide more support for
      input interation.

      Currently it supports the most essential features of moving
      the mouse and the keyboard, which may suffice in a
      controlled environment, but are inadequate for more
      complicated interactions in a windowing environment such as
      a 'screen-scraping' another GUI.

      The main problem is that, in a Windowing environment there
      is no way to know where an application will be located on
      the screen. This means that your automation steps may not
      work properly.

      For a basic upgrade that would provide a lot of increased
      functionality I would like to suggest the following
      enhancements:
      1. The ability to get a list of windows.
      2. The ability to switch to one of those windows.
      3. The ability to either perform operations relative to a
      window, or to determine the base coordinates of the window
      so that you can do the relative calculation yourself.

      The above are basic features that can be found in
      automation tools and are needed in the Robot.


      For a more robust upgrade perhaps it would work better by
      adding a new class like WindowingEnvironment, that would be
      used in conjunction with the Robot. Its purpose would be to
      allow you to determine the state of the windowing system,
      while the Robot allows you to interact with it. It might
      be similar to the way the PrintService API does for
      printers. You could get information such as:
      1. The list of windows.
      2. Any information that can possibly be gathered about the
      location of the 'focus' and the data underneath it.
      3. Other things that are known from the user perspective.

      Now I recognize that it is hard to make something like this
      generic for so many platforms, but then printers are all
      different too, even some basic enhancements that would
      allow interaction with the system would go a long way.

      This bug can be reproduced always.
      (Review ID: 139866)
      ======================================================================

            denis Denis Fokin (Inactive)
            jkimsunw Jeffrey Kim (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Imported:
              Indexed: