On Wed, 13 Sep 2023 14:25:19 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:
>> 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. I submitted an enhancement [JDK-8317116](https://bugs.openjdk.org/browse/JDK-8317116): _Provide layouts for multiple test UI in `PassFailJFrame`_. ------------- PR Comment: https://git.openjdk.org/jdk/pull/15665#issuecomment-1737766845