[Java lista] SystemTray

Andras Dobrosi andris at freemail.hu
2007. Már. 24., Szo, 00:41:49 CET


 Tenyleg, ez valami bug lehet! A hibat ez okozza: popUp.setInvoker(popUp);
En csinaltam ra egy kerulot igy:

//popUp.setInvoker(popUp);

*public* *void* actionPerformed(ActionEvent e) {    //A
MyActionListener-edben

   popUp.setVisible(*false*);                                 //tunj el
popup

   System.*out*.println("Connecting...");

}
Andris

On 3/23/07, Maglódszki Viktor <bocios at citromail.hu> wrote:
>
>  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
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070324/2d533150/attachment.html 


További információk a(z) Javalist levelezőlistáról