2011-11-23 10 views
10

私に似た質問がたくさんあることは知っていますが、実際に問題を解決することはできませんでした。 私は起動するとすぐにトレイに入るJavaアプリケーションを持っています。アイコンはトレイバーとDockにあるため、問題はMac上にある。 Dockアイコンを取り除きたい。アプリケーションがトレイにあるときにDockのJava SWTプログラムアイコンを非表示にする方法

私はすでに多くの試行を行いました: ".app"フォルダに自分のjarをラップし、Info.plistファイルを書き込もうとします。私はLSUIElementを挿入し、 "1"または "true"に設定しました。これはアプリケーションアイコンを隠しますが、端末に残っているような醜い灰色のアイコンを端末に表示します。

screen http://img40.imageshack.us/img40/1332/screenshot20111123at183.png

あなたが任意のアイデアやこれを回避する他の方法を持っている場合でも、教えてください。よろしくお願いいたします。

+0

あなたは 'java'または' javaw'とあなたのアプリを起動していますか? – Hoons

+0

Macにはjavawはありません... – hurtledown

+1

これはどのバージョンのSWTですか?これはSWT 3.5の問題でしたが、3.6で修正されました。それが3.6以降であれば、それは回帰のように聞こえる。 –

答えて

9

あなたは、あなたが望むものに対して間違ったプロパティ名を使用している可能性があります。 2つの方法があります

"apple.awt.UIElement"(ない "LSUIElement")

:あなたが設定するプロパティは、私が思うに、ある

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

:ここを見て出来るよ。 VM引数として

-Dapple.awt.UIElement="true" 

か、などのInfo.plistにプロパティを設定することができます:あなたが渡すことができ

<key>Properties</key> 
    <dict> 
    <key>apple.awt.UIElement</key> 
    <string>true</string> 
    </dict> 
+0

質問はAWTではなくSWTに関するものです。 –

+0

@EdwardThomson試しましたか? Apple Java Systemランタイムのプロパティはすべて「apple.awt」または「apple.laf」で始まり、OSはVM argsを尊重する必要があります。 – Dave

+0

これは私のために働く:)。 – Charles