私はシステムトレイにアイコンを追加する簡単なJavaスイングアプリを開発中です。私がしようとしているのは、このアイコンがユーザによってクリックされたとき(左クリックか右クリックかにかかわらず)を検出することです。ポップアップメニューはありません。アイコンをクリックしたときにアプリケーションを復元します。System TrayIcon for Java Appへのシングルクリックを検出するにはどうすればよいですか?
これは私が使用しているコードです:私はこのプログラムを実行するときに発生
SystemTray tray = SystemTray.getSystemTray();
Image icon = toolkit.getImage("icon.png");
ActionListener listener = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("click detected");
}
};
TrayIcon trayIcon = new TrayIcon(icon, "Test Program", null);
trayIcon.addActionListener(listener);
tray.add(trayIcon);
何、それから、(左または右)シングルクリックは何の効果もありませんが、私はダブルクリックしたときにということですコンソールに「クリックが検出されました」というメッセージが表示されます。
シングルクリックを検出するにはどうすればよいですか?私はこのためにMouseListenerを使用する必要がありますか? (私はのMouseListenerの問題を引き起こす可能性があることを聞いた、とActionListenerには優れている)
どのプラットフォームですか? Windows? Linux? – Femi
@Femi Windows - –
のみ30k up_votes ??? +1 – mKorbel