【发布时间】: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 用户
标签: java swing command-line systray