RFR: JDK-8290469: Add new positioning options to PassFailJFrame test framework [v4]

Harshitha Onkar honkar at openjdk.org
Thu Jul 28 17:52:39 UTC 2022


On Thu, 21 Jul 2022 00:27:04 GMT, Harshitha Onkar <honkar at openjdk.org> wrote:

>> Additional position setting (TOP_LEFT_CORNER) and a method to obtain bounds of test instruction frame are added to PassFailJFrame to handle positioning of multiple test frames.
>> 
>> In scenarios where multiple test windows might be present, the test windows might overlap the instruction frame. In order to fix this TOP_LEFT_CORNER position option is added that positions the test instruction frame at top left corner with main test window below it.
>> 
>> Additionally `getInstructionFrameBounds()` is added to obtain the position and dimensions of test instruction frame.
>
> Harshitha Onkar has updated the pull request incrementally with one additional commit since the last revision:
> 
>   added screen insets to account for taskbar position, doc changes

Another approach would be to use a [JSplitPane](https://docs.oracle.com/javase/tutorial/uiswing/components/splitpane.html) to have the instruction frame and the main test frame in one window. Left half/top as instruction frame and Right half/ bottom as the main test window and this also provides HORIZONTAL_SPLIT or VERTICAL_SPLIT orientation equivalent to HORIZONTAL and VERTICAL positioning of PassFailJFrame.

Advantage of this approach:
- No need to manually position the instruction frame and then the test window, as it will be one window - JSplitPane 
- Entire window (test + instruction frame) need to be positioned only once.
- With this change, we might no longer need positionTestWindow() method, additionally the framework code will be simple and straightforward.

-------------

PR: https://git.openjdk.org/jdk/pull/9525



More information about the client-libs-dev mailing list