4

SystemTray クラスを介してシステム トレイに隠れるアプリケーションを作成しました。正常に動作しますが、プログラムを終了して再度起動すると、アイコンをカーソルでホバーする前にトレイからアイコンが削除されません。これを複数回行うと、複数のアイコンが表示されます。

ここに画像の説明を入力

これは私のプログラムの問題ですか、それとも Windows のバグですか?

このガイドに従って、システム トレイ アイコンを作成しました。

4

2 に答える 2

6

トレイ アイコンを作成したアプリケーションが終了しても、Windows はトレイ アイコンを自動的に削除しません。ユーザーがマウスでホバーし、所有プロセスがもう存在しないことに気付いた場合にのみそうします。

アイコンがすぐに削除されるようにするにはsystemTray.remove(yourIcon)、プログラムの終了時に呼び出す必要があります。

于 2012-12-30T16:05:16.730 に答える
1

add(java.awt.TrayIcon)システム トレイには、メソッドを使用してトレイに追加される 1 つまたは複数のトレイ アイコンが含まれています。remove(java.awt.TrayIcon)これらは、メソッドで不要になったときに削除できます。

于 2012-12-30T16:06:00.940 に答える