0

重複の可能性:
Java1.6SystemTrayアイコンがWindowsの起動時に表示されない

私はJavaアプリケーションを持っており、ウィンドウOSにシステム試行アイコンを作成します。手動で開始すると、正常に実行されます。しかし今、私は自分のアプリケーションをウィンドウの起動に置きました。つまり、ログインせずにウィンドウを起動したときにアプリケーションを実行する必要があります。

しかし、問題は、アプリケーションが起動してそこでタスクを実行することですが、誰かがログインしたときにシステムトレイアイコンが追加されないことです。

そして、ウィンドウの起動時に、アプリケーションがTrayIconオブジェクトを正常に作成し、MenuItemを作成し、ポップアップを追加し、tray.add(trayIcon);ウィンドウの起動時に例外がなくてもトレイアイコンを追加していることに気づきましたが、ログインすると

システムトライと時間、ランドカードアイコンには表示されません。

ログインしたときと同じように、誰かがログインしたときに試行アイコンを作成する必要があります。lancardトレイアイコンが表示されます。

ありがとうございます。それでは、お元気で

4

1 に答える 1

1

タイミングの問題があると思います。アプリケーションの起動が速すぎて、OS によってシステム トレイが作成される前にシステム トレイ アイコンが追加されます。

最初に呼び出しSystemTray.getTrayIcons()て、その出力をログに出力してみてください。あなたのアイコンが実際にリストに表示されない場合は、ラッキーです。アイコンがトレイに表示されるまで、アイコンを追加してみてください。

リストに「表示」されているのに表示されない場合は、次のことを試してください。システム トレイを追加する前に、遅延を追加します。システムを更新するスレッドを追加するのに役立つ場合は、定期的に試してください。これはあまり良い解決策ではありませんが、ユーザーがデスクトップを再起動しても機能します (Windows では可能かどうかはわかりませんが、Linux では確実に可能です)。

于 2012-08-29T10:50:00.367 に答える