Pad*_*rus 5 java swing trayicon system-tray
我有一个Java应用程序,当按下红叉时,它会缩小到系统托盘中.
每当发生这种情况时,我会显示一条消息,通知用户应用程序仍在系统托盘中运行.
这是代码:
...
@Override
public void windowClosing(WindowEvent e) {
try {
tray.add(trayIcon);
trayIcon.displayMessage("", "The application has been reduced
in the system tray, to stop it, press the \"Quit\" button",
TrayIcon.MessageType.WARNING);
setVisible(false);
} catch (AWTException ex) {
System.out.println("unable to add to tray");
}
}
...
Run Code Online (Sandbox Code Playgroud)
目前,如果用户点击该消息,该消息将消失.
我想设置一个计数器,这样即使没有做任何事情,消息也会在几秒后淡出.
有没有人知道一个很好的方法,因为我似乎无法找到任何现有的方法.
编辑
我必须纠正我的问题,事实上,经过一段时间的测试后,它会在7-8秒之后自动消失,但我觉得它有点太长了.此外,它只会在用户执行操作(移动鼠标或在键盘上键入)时消失
所以新的问题是:有没有办法减少淡出时间并通过配置Java应用程序来改变消息行为,还是Windows固有的?
因此,新的问题是:是否有一种方法可以通过配置 Java 应用程序来减少淡出时间,或者它是 Windows 固有的吗?
MSDN 部分说明了通知多长时间-在 Windows Vista 及更高版本中,通知显示的固定持续时间为 9 秒。
任何更改都只能在 Windows 大小上维护,但似乎对所有消息都有效/适用