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

hur*_*own 10 java macos swt trayicon dock

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

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

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

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

Dav*_*ave 10

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

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

我想要设置的属性是:

"apple.awt.UIElement"(不是"LSUIElement")

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

-Dapple.awt.UIElement="true"
Run Code Online (Sandbox Code Playgroud)

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

<key>Properties</key>
  <dict>
    <key>apple.awt.UIElement</key>
    <string>true</string>
  </dict>
Run Code Online (Sandbox Code Playgroud)