我正在编写完全没有 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);
不显示消息窗口。