[Java lista] SystemTray
Maglódszki Viktor
bocios at citromail.hu
2007. Már. 23., P, 16:04:21 CET
Sziasztok !
Egy mostani fejlesztéshez használok egy újdonságot a 6os java-ból.
A TrayIcon -t.
Teljesen a neten talált leirás szerint járok el.
Kód:
Image offlImg = Toolkit.getDefaultToolkit().getImage("offline.gif");
TrayIcon trayIcon = null;
final JPopupMenu popUp = new JPopupMenu();
if (SystemTray.isSupported()) {
SystemTray tray = SystemTray.getSystemTray();
//1 menupont hozzadasa peldakent:
JMenuItem defaultItem = new JMenuItem("Kapcsolódás");
defaultItem.addActionListener(new MyActionListener("connect",this)); //kapcsolodas
popUp.add(defaultItem);
.....
//igy adok hozza nehagy menupontot ez azokhoz Listener-t
trayIcon = new TrayIcon(offlImg,"Programom",null);
//jobb klikk figyelese
trayIcon.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
popUp.setLocation(e.getX(), e.getY());
popUp.setInvoker(popUp);
popUp.setVisible(true);
}
}
});
trayIcon.setImageAutoSize(true);
ez igy működik is, jobb klikkre előjön menü, eseménykezelés is rendben van.
a gondom akkor van, amikor például ráklikkelek jobb-al aztán direkt az asztalra klikkelek (ekkor ugye eltűnik a menüm ahogy kell) és ezután hiába klikkelek vissza a progira, hibát dob és többet nem tudom előcsalni a menüt csak, ha újrainditom a progit
exception:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.awt.TrayIcon cannot be cast to java.awt.Component
at javax.swing.plaf.basic.BasicPopupMenuUI$MouseGrabber.eventDispatched(Unknown Source)
at java.awt.Toolkit$SelectiveAWTEventListener.eventDispatched(Unknown Source)
at java.awt.Toolkit$ToolkitEventMulticaster.eventDispatched(Unknown Source)
at java.awt.Toolkit.notifyAWTEventListeners(Unknown Source)
at java.awt.TrayIcon.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
nem hivatkozik az én progimra sehová igy nem tudom mit ronthattam el, főleg, hogy alapból megjelenik rendesen
mi lehet?
előre is köszi a segitséget
MV
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070323/d41f924f/attachment.html
További információk a(z) Javalist levelezőlistáról