【问题标题】:System tray with Java带有 Java 的系统托盘
【发布时间】:2012-12-29 16:32:00
【问题描述】:

我已通过执行what Oracle told to do 将我的程序设置为出现在系统托盘中。我的第一个问题是关于图标的。我的系统托盘中有很多程序,而我的程序是隐藏的。我可以让它在栏中显示而无需单击托盘中的箭头吗?

我还发现我可以通过调用trayIcon.displayMessage(title, content, icon) 来显示一条消息。我想知道我是否可以像 Skype 那样改变气球的外观。

或者我需要使用其他东西来显示消息吗?它应该始终出现在所有应用程序的前面,并且不应妨碍其他应用程序。例如,如果用户正在玩游戏,则信息对话框不应窃取鼠标和键盘的焦点。

【问题讨论】:

    标签: java layout system-tray


    【解决方案1】:

    不,您不能使用 java 系统托盘机制更改气球的样式。 Skype 不使用 java 机制来显示系统托盘。设计和显示气球是系统的任务。

    要显示你的图标,它是一个windows配置——当你点击箭头时,有一个“自定义”链接,你可以在其中配置显示哪些图标。

    如果你想影响窗口的风格,你需要实现你的自定义框架,感觉和定位就像一个系统托盘信息窗口。而且您不会使用 Tray 类。

    【讨论】:

    • 感谢您的回答。如果我想在右下角绘制一个自定义弹出警报,我需要知道什么?你有什么线索可以告诉你要搜索什么吗?顺便说一句,当你全屏时,SystemTray 方式不起作用。
    • 我会尝试在右下角显示一个 JFrame。所以我会搜索如何获得这些坐标。不幸的是,除非您绘制自己的图形组件,否则它总是看起来像一个秋千。
    • 但它不会干扰其他应用程序吗?或者有没有办法在不从键盘和鼠标获得焦点的情况下打开 JFrame?
    • 另外,打开一个JFrame会被认为是一个程序,会弹出状态栏并开始闪烁。
    • 是的,swing JFrame 不是解决方案。也许另一个框架提供了这个,我以前没有这样做过,对不起。
    【解决方案2】:

    关于您关于剥皮的问题。 SystemTray displayMessage 气球不能以任何方式自定义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多