【问题标题】:Java command line application and SystrayJava 命令行应用程序和系统托盘
【发布时间】:2012-02-28 03:45:06
【问题描述】:

我正在编写完全没有 GUI 的 Java 应用程序。它通过命令行在终端中运行,一切都很好。但是现在我需要向它添加系统托盘的图标,以便向用户提供一些通知。为此,我尝试使用 java.awt.SystemTray 和 java.awt.TrayIcon。尽管图标几乎可以正常工作(撇开外观问题不谈),但我的 Mac OS 将新的应用程序窗口放到 Dock 中,就好像整个 Swing 应用程序都在运行一样。

所以,问题是:我的无 GUI 的 Java 应用程序能否保持完全不可见,但托盘图标?在 Mac OS、Windows 和 Linux 中。

编辑:我试过了

System.setProperty("apple.awt.UIElement", "true");

这帮助我摆脱了 Dock 图标,但现在

    trayIcon.displayMessage("Run!", null, TrayIcon.MessageType.ERROR);

不显示消息窗口。

【问题讨论】:

  • 不是 OSX 用户,可能是 stackoverflow.com/a/5060116/714968,似乎是新的 Java 所有者 Oracle 从他们的官方页面中删除了有关 OSX 和 Swing 的所有内容,嗯...
  • 嗯...问题仍然存在,我将如何将我的 jar 文件与 plist 文件一起发送? :S
  • 请耐心等待,有一位 OSX & Java & Swing Guru 每天都在访问这个论坛,抱歉我不是 OSX 用户
  • 对不起,我没有使用LSUIElement,但我已经更新了herehere显示的答案中的相关链接。

标签: java swing command-line systray


【解决方案1】:

如果它不适用于 Swing,也许你可以试试 SWT: Tray Icons and Tooltips.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 2010-10-06
    • 2012-09-16
    相关资源
    最近更新 更多