RFR: 8317116: Provide layouts for multiple test UI in PassFailJFrame

Alexey Ivanov aivanov at openjdk.org
Thu Sep 26 13:05:11 UTC 2024


Provides a set of default layouts for manual test using multiple test UI windows.

The initial implementation in the demo in #15721 was too complicated. After looking at the simplified version used in #21180, I re-worked the layouts into separate methods.

The layout methods are in `WindowLayouts` class next to `PassFailJFrame`. It is not necessary to mention it explicitly in the `@build` jtreg tag.

The builder now provides new methods:

- `positionTestUIRightRow` positions the test UI windows in a row to the right of the instruction frame. The top of the windows is aligned to that of the instruction frame.
- `positionTestUIRightColumn` positions the test UI windows in a column to the right of the instruction frame. The top of the first window is aligned to that of the instruction frame.
- `positionTestUIRightColumnCentered` positions the test UI windows in a column to the right of the instruction frame centering the stack of the windows.
- `positionTestUIBottomRow` positions the test UI windows in a row to the bottom of the instruction frame. The left of the first window is aligned to that of the instruction frame.
- `positionTestUIBottomRowCentered` positions the test UI windows in a row to the bottom of the instruction frame centering the row of the windows.
- `positionTestUIBottomColumn` positions the test UI windows in a column to the bottom of the instruction frame. The left of the first window is aligned to that of the instruction frame.

If required, the test developer can provide a custom implementation.

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

Commit messages:
 - 8317116: Provide layouts for multiple test UI in PassFailJFrame

Changes: https://git.openjdk.org/jdk/pull/21207/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21207&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8317116
  Stats: 320 lines in 2 files changed: 316 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/21207.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21207/head:pull/21207

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


More information about the client-libs-dev mailing list