On Fri, 18 Jul 2025 04:00:45 GMT, Prasanta Sadhukhan <[email protected]>
wrote:
>> In Windows machines, the click lands on the reduce control of the window,
>> and this causes the windows to be iconified and the test fails.
>>
>> I have tested with undecorated frames, but the test continues to fail. The
>> test needs to click on the middle of the Windows title bar (Outside of the
>> controls) to pass.
>>
>> I will set the frames (The background undecorated frame, and the heavyweight
>> component frames) on center as you have suggested.
>
>> In Windows machines, the click lands on the reduce control of the window,
>> and this causes the windows to be iconified and the test fails.
>
> WHich test in particular? or is it all tests have this behavior?
>
>> The test needs to click on the middle of the Windows title bar (Outside of
>> the controls) to pass.
>
> I tried JMenuBarOverlapping.java but I dont see any click on title bar..The
> cursor in on top-left of "Test Menu" menu..
> If clicking on the title bar is needed to make it gain focus, probably you
> can try with calling `frame.requestFocus` and use `CountDownLatch `with
> timeout to wait till FOCUS_GAINED event is received and release the latch in
> `focusGained()` and then start the test
@prsadhuk I have reviewed the code again and I can point out where we do have
the workaround click. It can be found in class SimpleOverlappingTestBase, in
method performTest. Following is an excerpt of the source code:
/* this is a workaround for certain jtreg(?) focus issue:
tests fail starting after failing mixing tests but always pass alone.
*/
JFrame ancestor = (JFrame)(testedComponent.getTopLevelAncestor());
if( ancestor != null ) {
Point ancestorLoc = ancestor.getLocationOnScreen();
ancestorLoc.translate(isOel7orLater() ? 5 :
ancestor.getWidth() / 2 - 15, 2);
robot.mouseMove(ancestorLoc.x, ancestorLoc.y);
Util.waitForIdle(robot);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(50);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
Util.waitForIdle(robot);
}
I will use requestFocus as you have suggested and see if I get tests to pass.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/25971#issuecomment-3089604981