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