On Wed, 28 Feb 2024 11:12:48 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:

>> @alisenchung  Since the trayicon is added back after removal and 
>> PassFailJFrame handles disposal of test windows only, Aleksei is suggesting 
>> we handle the removal of trayicon explicitly (when test is run outside of 
>> jtreg) something like below. You probably want to move `systemTray` and 
>> `trayIcon` vars accordingly.
>> 
>> 
>> try {
>>     PassFailJFrame.builder()
>>                   .title("Event Message Display")
>>                   .instructions(instructions)
>>                   .testTimeOut(5)
>>                   .rows(15)
>>                   .columns(45)
>>                   .testUI(DisposeInActionEventTest::showFrameAndIcon)
>>                   .build()
>>                   .awaitAndCheck();
>> } finally {
>>      systemTray.remove(trayIcon);
>> }
>
> That's correct! Otherwise, the orphan icon is left the system tray. When the 
> test is run without jtreg, it doesn't terminate because the tray icon doesn't 
> allow EDT to stop.

Alternatively, you can remove the system tray icon in `windowClosing` or 
`windowClosed` event of `WindowListener` associated with the frame.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17838#discussion_r1506043061

Reply via email to