Java命令行应用程序和Systray

问题描述:

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

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

编辑:我曾尝试

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

帮我摆脱Dock图标,但现在

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

不显示消息窗口。

+1

不是OSX用户,也许是http://*.com/a/5060116/714968,好像是新的Java所有者Oracle从他们的官方页面中删除了有关OSX&Swing,ei的所有内容,嗯... – mKorbel 2012-02-06 17:17:58

+0

Wel ...问题仍然存在,我将如何将我的jar文件和plist文件一起发送? :S – Nikem 2012-02-06 18:06:15

+1

你有耐心,有一个OSX&Java&Swing Guru,他每天都访问这个论坛,抱歉我不是OSX用户 – mKorbel 2012-02-06 18:21:27

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