[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