我以这种方式点击displayMessage()
(感谢stackoverflow!):
public class Tray {
private static class ShowMessageListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
trayIcon.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (openBrowser == 1) {
Desktop desktop = Desktop.isDesktopSupported() ? Desktop
.getDesktop() : null;
if (desktop != null
&& desktop.isSupported(Desktop.Action.BROWSE)) {
try {
desktop.browse(URI.create(link));
} catch (Exception e2) {
LogError.get(e2);
}
}
}
openBrowser = 0;
}
});
trayIcon.displayMessage("Finished", link,
TrayIcon.MessageType.INFO);
}
} //ShowMessageListener class end
invisibleItem.addActionListener(new ShowMessageListener());
}
我正在调度事件以显示消息:
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(new ActionEvent(Tray.invisibleItem, ActionEvent.ACTION_PERFORMED, "asd", 1, 0));
一切都很好,消息是可点击的。在我意识到ActionListener
正在听TrayIcon
之前,这是完美的。如果用户未点击该邮件,TrayIcon
将在下次点击时播放该事件并打开该网站。
以下是我的问题:如何检查displayMessage()
是否已消失?