Pracuję nad prostą aplikacją Java, która dodaje ikonę do paska zadań po utworzeniu. Co próbuję zrobić, to wykryć, kiedy ta ikona jest jednym kliknięciem przez użytkownika (klikając lewym przyciskiem myszy lub prawym przyciskiem myszy), Nie ma menu podręcznego, po prostu chcę, aby aplikacja została przywrócona po kliknięciu ikony.Jak wykrywać pojedyncze kliknięcia w System TrayIcon dla aplikacji Java?
Jest to kod używam:
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);
Co się dzieje, kiedy uruchomić ten program jest jednak to, że pojedyncze kliknięcie (lewy lub prawy) nie mają żadnego wpływu, ale kiedy, a następnie kliknij dwukrotnie pokazuje komunikat "kliknij wykryto" w konsoli.
Co mogę zrobić, aby wykryć pojedyncze kliknięcia? Czy do tego potrzebuję używać MouseListener? (Słyszałem, że MouseListeners może powodować problemy, a ActionListeners są lepsze)
Jaka platforma? Windows? Linux? – Femi
@Femi Windows - –
tylko 30k up_votes ???, +1 – mKorbel