RFR: 8294156: Allow PassFailJFrame.Builder to create test UI [v2]

Alexey Ivanov aivanov at openjdk.org
Wed Sep 13 14:25:19 UTC 2023


> This enhances the `Builder` pattern added in [JDK-8294535](https://bugs.openjdk.org/browse/JDK-8294535) with a new method `testUI` which allows passing a lambda expression or a method reference to create *the test UI window*.
> 
> The `PassFailJFrame` will automatically call the method on the EDT to create the UI, add it to the internal list of windows, install the window closing listener and finally position and show both the instructions and test UI.
> 
> Alternatively, you can pass an already created window.
> 
> The `main` method of a manual test could look as simple as a sequence of calls:
> 
> 
>     public static void main(String[] args) throws Exception {
>         PassFailJFrame.builder()
>                       .instructions(INSTRUCTIONS)
>                       .testUI(() -> createTestUI())
>                       .build()
>                       .awaitAndCheck();
>     }
> 
> where `createTestUI` returns a test UI window.

Alexey Ivanov has updated the pull request incrementally with one additional commit since the last revision:

  8294156: Allow creating several test windows
  
  The windows can be positioned in advance, or
  a call back PositionWindows interface can be used
  to define their positions after the instruction UI
  frame is positioned on the screen.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/15665/files
  - new: https://git.openjdk.org/jdk/pull/15665/files/70256b66..62521e38

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15665&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15665&range=00-01

  Stats: 259 lines in 1 file changed: 201 ins; 18 del; 40 mod
  Patch: https://git.openjdk.org/jdk/pull/15665.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15665/head:pull/15665

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


More information about the client-libs-dev mailing list