`positionTestUI()` option is added to PassFailJFrame (PFJ).

With this change multiple UI can be positioned using the PFJ new builder 
pattern by providing implementation for the Functional Interface 
`PositionWindows.positionTestWindows(List<? extends Window> 
testWindows,InstructionUI instructionUI)` in the test code. 

Since the position implementation is done in test code it allows flexibility as 
the user can add custom positioning code per test UI requirements.

Usage:

PassFailJFrame.builder()
                      .title("Test Instructions")
                      .instructions(INSTRUCTIONS)
                      .rows((int) INSTRUCTIONS.lines().count() + 3)
                      .columns(30)
                      .testUI(<TestClass::createAndShowUI>)
                      .positionTestUI(<TestClass::positionMultiTestUI>)
                      .build()
                      .awaitAndCheck();

where positionMultiTestUI is the implementation for position of multiple test 
windows for `PositionWindows.positionTestWindows(List<? extends Window> 
testWindows,InstructionUI instructionUI)`

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

Commit messages:
 - add positionTestUI() to PFJ builder pattern

Changes: https://git.openjdk.org/jdk/pull/21023/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21023&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8340210
  Stats: 29 lines in 1 file changed: 29 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/21023.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21023/head:pull/21023

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

Reply via email to