TrayIcon klicka på displayMessage? Java

Permalänk

TrayIcon klicka på displayMessage? Java

Hej jag håller på med ett program där jag skickar notifikationer till användaren genom TrayIcon.displayMessage(""); och då undrar jag om jag kan lägga till någon slags actionlistener för att se om dom klickar på själva rutan
tack på förhand

Visa signatur

Att programmera eller att inte programmera, det är frågan?

Permalänk
Medlem
Skrivet av kallepårymmen:

Hej jag håller på med ett program där jag skickar notifikationer till användaren genom TrayIcon.displayMessage(""); och då undrar jag om jag kan lägga till någon slags actionlistener för att se om dom klickar på själva rutan
tack på förhand

Det är väl bara att registrera en ActionListener till din TrayIcon som du lyssnar på?
addActionListener(ActionListener listener)

Visa signatur

Corsair 16GB (4x4096MB) CL9 1600Mhz | Asus P8Z77-V PRO |
Samsung SSD Basic 830-Series 256GB | Intel Core i7 3770K 3,5Ghz |
Asus Xonar Essence STX | Noctua NH-U9B SE2 | Antec Performance One P280 | Corsair HX 850W 80+ Gold Modulär | MSI GTX 770

Permalänk
Medlem

Enligt dokumentationen så kan det vara så att ett ActionEvent skickas ut, men det är inte säkert ("may trigger").

Precis som ovanstående skribent skriver så får du lägga till en ActionListener, det kan vara så att du får filtrera lite bland händelserna beroende på hur TrayIcon beter sig, exempelvis så kanske den även skickar en action när man bara trycker på ikonen.

Det kan även vara bra att kolla innan om operativsystemet som programmet kör på faktiskt stödjer en TrayIcon om man vet att programmet kommer att köras på flera olika plattformar, vilket går att göra med SystemTray.isSupported().

Visa signatur

Citera eller nämn gärna mig (@ToJa92) om du svarar på något jag skrivit.
Uppskattar du eller blir hjälpt av ett inlägg jag skrivit är jag tacksam om du gillar det.

Permalänk
Skrivet av NoPaiN^:

Det är väl bara att registrera en ActionListener till din TrayIcon som du lyssnar på?
addActionListener(ActionListener listener)

Skrivet av ToJa92:

Enligt dokumentationen så kan det vara så att ett ActionEvent skickas ut, men det är inte säkert ("may trigger").

Precis som ovanstående skribent skriver så får du lägga till en ActionListener, det kan vara så att du får filtrera lite bland händelserna beroende på hur TrayIcon beter sig, exempelvis så kanske den även skickar en action när man bara trycker på ikonen.

Det kan även vara bra att kolla innan om operativsystemet som programmet kör på faktiskt stödjer en TrayIcon om man vet att programmet kommer att köras på flera olika plattformar, vilket går att göra med SystemTray.isSupported().

Jo men jag testade att bara registrera en ActionListener men det var inte själva medelandet som lyssnade efter ett klick utan tray ikonen men kanske något jag stängt av i windows. :/

så här ser koden ut iallafall

trayIcon.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Klick!"); } });

Visa signatur

Att programmera eller att inte programmera, det är frågan?