当应用程序在托盘中时,如何在Dock中隐藏Java SWT程序图标

我知道有很多类似于我的问题,但即使阅读了所有这些问题,我实际上也无法解决我的问题。 我有一个Java应用程序,一旦它启动它继续托盘。 问题出在Mac上,因为只有图标位于托盘栏和Dock中。 我想摆脱Dock图标。

我已经进行了多次试验:尝试将我的jar包装在“.app”文件夹中并编写Info.plist文件。 我插入了LSUIElement并将其设置为“1”或“true”。 这隐藏了应用程序图标,但显示了一个丑陋的灰色图标终端 – 保留在终端中。

屏幕http://img40.imageshack.us/img40/1332/screenshot20111123at183.png

即使您有任何想法或其他方法可以绕过这一点,请告诉我。 谢谢。

您可能正在使用错误的属性名称。 看看这里:

https://developer.apple.com/library/mac/#documentation/Java/Reference/Java_PropertiesRef/Articles/JavaSystemProperties.html

我想要设置的属性是:

“apple.awt.UIElement”(不是“LSUIElement”)

有两种方法可以做到这一点。 你可以通过:

 -Dapple.awt.UIElement="true" 

作为VM参数,或者您可以在Info.plist中将属性设置为:

 Properties  apple.awt.UIElement true