加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何让Java的TrayIcon消息淡出?

发布时间:2020-12-14 19:35:48 所属栏目:Java 来源:网络整理
导读:我有一个 Java应用程序,当按下红叉时,它会缩小到系统托盘中. 每当发生这种情况时,我会显示一条消息,通知用户应用程序仍在系统托盘中运行. 这是代码: ... @Override public void windowClosing(WindowEvent e) { try { tray.add(trayIcon); trayIcon.display
我有一个 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");
        }
    }
...

目前,如果用户点击该消息,该消息将消失.

我想设置一个计数器,这样即使没有做任何事情,消息也会在几秒后淡出.

有没有人知道一个很好的方法,因为我似乎无法找到任何现有的方法.

编辑

我必须纠正我的问题,事实上,经过一段时间的测试后,它会在7-8秒之后自动消失,但我觉得它有点太长了.此外,它只会在用户执行操作(移动鼠标或在键盘上键入)时消失

所以新的问题是:有没有办法减少淡出时间并通过配置Java应用程序来改变消息行为,还是Windows固有的?

解决方法

So the new question would be : Is there a way to reduce the fade out
time by configuring the Java application or is it inherent to Windows?

> MSDN says in part How long to notify – 在Windows Vista及更高版本中,通知将显示固定的9秒持续时间.
>任何更改都可以仅在Windows大小上维护,但似乎对所有消息都有效/适用

>你可以创建自己的Traslucent JDialog(透明度可能也是这样)以编程方式放置在左下角,淡出将从Swing Timer调用

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读