java - When left-clicking on TrayIcon JFrame disappears and appears again -



java - When left-clicking on TrayIcon JFrame disappears and appears again -

i have problem tray. programme works there problem.

should be:

when left click on trayicon (tna) jframe should disappear. when left click 1 time again on jframe should appear.

at moment:

when click on trayicon jframe disappear , fast appears 1 time again , after works fine. when im first time clicking on it disappears , appears.

package iremindermain; import javax.swing.swingutilities; import gui.iremindermainframe; public class ireminderstart { public static void main(string[] args) { /** * new edt * */ swingutilities.invokelater(new runnable(){ public void run(){ try{ //new jframe main new iremindermainframe(); } grab (exception e){ e.printstacktrace(); } } }); } } bundle gui; import gui.imageioreader; import java.awt.awtexception; import java.awt.image; import java.awt.menuitem; import java.awt.popupmenu; import java.awt.systemtray; import java.awt.trayicon; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.mouseadapter; import java.awt.event.mouseevent; import java.awt.event.mouselistener; import java.io.ioexception; import javax.imageio.imageio; import javax.swing.jframe; public class tray extends mouseadapter { private boolean visible; private boolean vis; private image img; private jframe neu; string = new string("img/iremindericon.png"); mouselistener mousel = new mouse(); private void erstelleimage(){ seek { img = imageio.read(imageioreader.class.getclassloader().getresourceasstream(i)); system.out.println("imageioread tray: image erstellt"); } grab (ioexception e) { //todo throw user input e.printstacktrace(); } } //--------------------------------------------konstruktor------------------------------------------------------------ public tray(boolean visible, jframe neu, boolean vis) { system.out.println("tray: konstruktor aufgerufen"); erstelleimage(); this.visible = visible; this.neu = neu; this.vis = vis; trayicon trayicon = null; //--------------------------------------------if------------------------------------------------------------ if (systemtray.issupported()) { systemtray tray = systemtray.getsystemtray(); //------------------------------------------actionlistener--------------------------------------------------------------------- actionlistener listener = new actionlistener() { @override public void actionperformed(actionevent e) { system.exit(0); } }; //------------------------------------------/actionlistener--------------------------------------------------------------------- popupmenu popup = new popupmenu("ireminder"); menuitem beenden = new menuitem("beenden"); beenden.addactionlistener(listener); popup.add(beenden); trayicon = new trayicon(img, "ireminder", popup); //------------------------------------------mouselistener--------------------------------------------------------------------- mouselistener mouselistener = new mouse() { @override public void mouseclicked(mouseevent e) { system.out.println("tray: mouse clicked"); boolean visible = getvisframe(); system.out.println("tray: getvisframe"+ getvisibleframe()); if (visible == true) { getframe().setvisible(false); system.out.println("tray: false"); setvisframe(false); } else { system.out.println("tray: true"); getframe().setvisible(true); setvisframe(true); } } }; //------------------------------------------/mouselistener--------------------------------------------------------------------- trayicon.addmouselistener(mouselistener); seek { system.out.println("tray: try"); trayicon.setimageautosize(true); tray.add(trayicon); } grab (awtexception e) { system.err.println(e); } } else { } //--------------------------------------------/ende if------------------------------------------------------------ } //--------------------------------------------/konstruktor------------------------------------------------------------ public boolean getvisibleframe() { system.out.println("tray: getter visibility frame"); homecoming visible; } public jframe getframe(){ system.out.println("tray: getter frame"); homecoming neu; } public boolean getvisframe(){ homecoming vis; } public void setvisframe(boolean vis){ system.out.println("tray: getter frame"); this.vis = vis; } public void setframe(jframe frame){ system.out.println("tray: getter frame"); neu = frame; } } bundle gui; import java.awt.event.windowadapter; import java.awt.event.windowevent; public class mywindowlistener extends windowadapter { @override public void windowclosing(windowevent e) { system.out.println("the window closing programme still running!"); } } bundle gui; import java.awt.event.mouseadapter; import java.awt.event.mouseevent; public class mouse extends mouseadapter { @override public void mouseclicked(mouseevent e) { } } bundle gui; import javax.swing.lookandfeel; import javax.swing.uimanager; public class { private lookandfeel look; private lookandfeel newlook; /** * konstruktor: erstellt und aktiviert das , sense * */ public look(lookandfeel look){ setlookandfeel(look); activatelookandfeel(); system.out.println("look: , sense done"); } /** * methode: setzt das , sense * */ public void activatelookandfeel(){ seek { uimanager.setlookandfeel(newlook = look); system.out.println("look: , sense activated"); } grab (exception e) { // todo auto-generated grab block e.printstacktrace(); } } /** * setter: setzt das objekt new , sense der variable * */ private void setlookandfeel(lookandfeel look){ this.look = look; system.out.println("look: , sense set"); } public lookandfeel getlookandfeel(){ homecoming newlook; } } bundle gui; import javax.swing.jframe; public abstract class jwindows extends jframe { private static final long serialversionuid = -8698706321873075551l; public abstract void getlook(); public abstract void getnewtitle(); public abstract void getcloseoperation(); public abstract void getnewlayout(); public abstract void getvisible(); public abstract void geticon(); } bundle gui; import java.awt.borderlayout; import java.awt.event.windowevent; import java.awt.event.windowlistener; import javax.swing.jframe; import javax.swing.joptionpane; import javax.swing.plaf.nimbus.nimbuslookandfeel; public class iremindermainframe extends jwindows { private static final long serialversionuid = -21323574593098624l; boolean framevisible = getvisablereminder(); private windowlistener wlistener; public iremindermainframe(){ getlook(); getnewtitle(); getnewlayout(); imagepath = new imagepath("img/iremindericon.png"); seticonimage(i.getimage()); geticon(); setsize(500, 500); setlocationrelativeto(null); getvisible(); addwindowlistener(wlistener); } private boolean getvisablereminder() { homecoming this.isvisible(); } @override public void getlook() { nimbuslookandfeel nimbus = new nimbuslookandfeel(); new look(nimbus); } @override public void getnewtitle() { settitle("ireminder"); } @override public void getcloseoperation() { setdefaultcloseoperation(jframe.do_nothing_on_close); } @override public void getnewlayout() { setlayout(new borderlayout()); } @override public void getvisible() { setvisible(true); } private void setlistenerframe (windowlistener listener){ this.wlistener = listener; } @override public void geticon() { new tray(isvisible(), this, framevisible); //---------------------------------------windowlistener----------------------------------------------------------- windowlistener framelistener = new mywindowlistener() { @override public void windowclosing(windowevent e) { int reply = joptionpane .showconfirmdialog( iremindermainframe.this, "das programm wird im hintergrund fortgesetzt \nfenster schliessen?", "programm wird nicht beendet", joptionpane.yes_option); if (answer == joptionpane.yes_option) { system.out .println("das fenster wird geschlossen, jedoch wird das programm im hintergrund noch ausgeführt!"); iremindermainframe.this.setvisible(false); } system.out.println("fenster nicht geschlossen"); } }; setlistenerframe(framelistener); } } bundle gui; public class imagepath extends imageioreader { /** * konstruktor: imagepath sendet den string zu imageioreader, das image kann man sich * dann über die methode getimage(); sich von hier oder der vaterklasse ziehen. * */ public imagepath(string s){ /** * sendet den string zu imageioreader klasse * */ super (s); } } bundle gui; import java.awt.image.bufferedimage; import java.io.ioexception; import javax.imageio.imageio; public class imageioreader { private string i; private bufferedimage img; /** * konstruktor: übergibt den pfad des images , die methode und erstellt dann das img * */ public imageioreader(string i){ setimage(i); createimage(); system.out.println("imageioread: konstruktor imageioread ausgeführt"); } /** * methode: erstellt das img und speichert es in die variable ab * */ private void createimage(){ seek { img = imageio.read(imageioreader.class.getclassloader().getresourceasstream(i)); system.out.println("imageioread: image erstellt"); } grab (ioexception e) { //todo throw user input e.printstacktrace(); } } /** * braucht ein string der den pfad des img übergibt * */ private void setimage(string i){ this.i = i; system.out.println("imageioread: imagepfad in variable gespeichert"); } /** * gibt ein image zurück den aufrufer * */ public bufferedimage getimage(){ system.out.println("imageioread: image aufgerufen"); homecoming img; } }

this part of of import code:

package gui; import java.awt.awtexception; import java.awt.image; import java.awt.menuitem; import java.awt.popupmenu; import java.awt.systemtray; import java.awt.trayicon; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.mouseadapter; import java.awt.event.mouseevent; import java.awt.event.mouselistener; import java.io.ioexception; import javax.imageio.imageio; import javax.swing.jframe; public class tray extends mouseadapter { private boolean visible; private boolean vis; private image img; private jframe neu; string = new string("img/iremindericon.png"); mouselistener mousel = new mouse(); //start constructor---------------------------------------------------------------------------------------------------------------------- public tray(boolean visible, jframe neu, boolean vis) { system.out.println("tray: konstruktor aufgerufen"); erstelleimage(); this.visible = visible; //iremindermainframe isvisible() this.neu = neu; this.vis = vis; //iremindermainframe method variable isvisible() trayicon trayicon = null; //start if-------------------------------------------------------------------------------------------------------- if (systemtray.issupported()) { systemtray tray = systemtray.getsystemtray(); //start actionlistener--------------------------------------------------------------------------------------------------------------- actionlistener listener = new actionlistener() { @override public void actionperformed(actionevent e) { system.exit(0); } }; //***end actionlistener--------------------------------------------------------------------------------------------------------------- popupmenu popup = new popupmenu("ireminder"); menuitem beenden = new menuitem("beenden"); beenden.addactionlistener(listener); popup.add(beenden); trayicon = new trayicon(img, "ireminder", popup); //start mouselistener--------------------------------------------------------------------------------------------------------------- mouselistener mouselistener = new mouse() { @override public void mouseclicked(mouseevent e) { system.out.println("tray: mouse clicked"); boolean visible = getvisframe(); system.out.println("tray: getvisframe"+ getvisibleframe()); if (visible == true) { getframe().setvisible(false); system.out.println("tray: false"); setvisframe(false); } else { system.out.println("tray: true"); getframe().setvisible(true); setvisframe(true); } } }; //***end mouselistener--------------------------------------------------------------------------------------------------------------- trayicon.addmouselistener(mouselistener); seek { system.out.println("tray: try"); trayicon.setimageautosize(true); tray.add(trayicon); } grab (awtexception e) { system.err.println(e); } } else { } //***end if-------------------------------------------------------------------------------------------------------------------------------- } //***constructor end---------------------------------------------------------------------------------------------------------------------- //start instance method-------------------------------------------------------------------------------------------------------------------------- private void erstelleimage(){ seek { img = imageio.read(imageioreader.class.getclassloader().getresourceasstream(i)); system.out.println("imageioread tray: image erstellt"); } grab (ioexception e) { //todo throw user input e.printstacktrace(); } } public boolean getvisibleframe() { system.out.println("tray: getter visible frame"); homecoming visible; } public jframe getframe(){ system.out.println("tray: getter jframe"); homecoming neu; } public boolean getvisframe(){ homecoming vis; } public void setvisframe(boolean vis){ system.out.println("tray: setter vis jframe"); this.vis = vis; } public void setframe(jframe frame){ system.out.println("tray: setter jframe"); neu = frame; } //***end instance method-------------------------------------------------------------------------------------------------------- }

i hope can help me , helpers! ps: im sorry english.

edited code (sysout) here sysout when run , click sometime on trayicon

look: , sense set look: , sense activated look: , sense done imageioread: imagepfad in variable gespeichert imageioread: image erstellt imageioread: konstruktor imageioread ausgeführt imageioread: image aufgerufen tray: konstruktor aufgerufen imageioread tray: image erstellt tray: seek tray: mouse clicked tray: getter visible frame tray: getvisframefalse tray: true tray: getter jframe tray: setter vis jframe tray: mouse clicked tray: getter visible frame tray: getvisframefalse tray: getter jframe tray: false tray: setter vis jframe tray: mouse clicked tray: getter visible frame tray: getvisframefalse tray: true tray: getter jframe tray: setter vis jframe tray: mouse clicked tray: getter visible frame tray: getvisframefalse tray: getter jframe tray: false tray: setter vis jframe

java system-tray

Comments

Popular posts from this blog

c - Compilation of a code: unkown type name string -

java - Bypassing "final local variable defined in an enclosing type" -

json - Hibernate and Jackson (java.lang.IllegalStateException: Cannot call sendError() after the response has been committed) -