|
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_C...
|
|
 25 Apr 2010, 23:45
|

Herr Dachs         
Punkte: 8394
seit: 15.12.2004
|
So, ich mehr hier an nem kleinen Projekt rum.... Ich will daß mein Fenster beim drücken auf Schließen eben nicht die ganze Applikation abgeschossen wird sondern nur das Fenster unsichtbar wird ( setVisible(false) )... ich hab die Applikation mit NetBeans und den zugehörigen Templates für "Desktop Apllication" erstellt um den anderen, die da irgendwie ja och noch mitmachen müssen, das ganze nen bissl zu vereinfachen.... Ich hab mein Hauptfenster und das soll wie gesagt unsichtbar werden (und bei ner Option im Taskleisten-Icon-Popup wieder sichtbar) letzteres funktioniert wunderbar und ersteres nur wenn ich mir nen extra-nubsi mache dem ich die Action zuweise (bzw selbst nen Listener mache und dort bei actionPerformed() setVisible(false) ) mache... jetzt will ich aber, daß das fenster beim "schließen " eben genau das selbe tut... ich hab schon alles probiert und weiß echt nicht mehr was ich machen soll... das richtige JFrame scheine ich mit: app.getFrame() ---> in der GUI-Klasse und CODE MAINWINDOWKLASSE.getApplication().getMainFrame() zu bekommen (zumindest kann ich an beiden Stellen mit setTitle("schnickschnack") den Fenstertitel ändern) wenn ich aber nun mit: CODE RICHTIGESFRAME.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); und CODE RICHTIGESFRAME.addWindowListener(new WindowListener() {
...abstrakte methoden, blablubb, reingetragen RICHTIGESFRAME.setVisible(false);
}); versuche das Fenster am töten zu hindern passiert genau nix, außer daß das Programm geschlossen wird... das is aber scheiße!!!!!!! ich rast hier echt glei aus.... will jetzt och nich meinen ganzen Quelltext posten... is aber ganz einfach mit der standard-vorlage für Java Desktop Application in NetBeans nachzuvollziehen... irgendwer ne idee? danke //mod: bitte CODE Tags nutzen: [CODE]
|
|
|
|
|
 26 Apr 2010, 08:47
|

Exmatrikulator         
Punkte: 2083
seit: 17.08.2006
|
Passiert dein setVisible(false) in der CODE WindowListener.windowClosing(WindowEvent e) ? Wegen "DO_NOTHING_ON_CLOSE (defined in WindowConstants): Don't do anything; require the program to handle the operation in the windowClosing method of a registered WindowListener object."
--------------------
|
|
|
|
|
 26 Apr 2010, 12:17
|

Herr Dachs         
Punkte: 8394
seit: 15.12.2004
|
jup genau da hab ichs hingetan: @mod: ich war zu faul code tags zu nehmen :P jetzt aber CODE . . . app.getFrame().setDefaultClosingOperation(JFrame.DO_NOTHING_ON_CLOSE);
app.getFrame().addWindowListener(new WindowListener() {
public void windowOpened(WindowEvent arg0) { }
public void windowClosing(WindowEvent arg0) { app.getFrame().setVisible(false); }
public void windowClosed(WindowEvent arg0) { }
public void windowIconified(WindowEvent arg0) { }
public void windowDeiconified(WindowEvent arg0) { }
public void windowActivated(WindowEvent arg0) { }
public void windowDeactivated(WindowEvent arg0) { } }); . . .
so hab ichs gemacht, und es bewirkt, wie gesagt, genau garnüscht. ;( €: es scheint irgendwas damit zu tun haben, daß das fenstern kein JFrame ist (also ist es schon) sondern das Programm ist irgendwie eine SingleFrameApplication oder son...
|
|
|
|
|
 26 Apr 2010, 21:18
|

Herr Dachs         
Punkte: 8394
seit: 15.12.2004
|
glaubst du ich bin mitm klammersack gepudert oder was?
-------------------------------
also so einfach gings nicht, (habs inzwischen hinbekommen) man brauch für diese SingleFrameApplication-dinger einen exitlistener.
dieser besteht aus zwei actions: canExit und exit(oderso)
canExit liefert boolean zurück und nur wenn dort true zurückgeliefert wird schließt das programm...
allerdings betrifft das dann alle listener die mit quit() verbunden sind (oder so), dh man kann nicht einfach nen anderen "schließen"-knopp (bspw in der tray) mit der globalen schließen-aktion verknüpfen, sondern brauch für jeden einzelnen nubsi, der das programm wirklich schließen soll, nen eigenen handler der System.exit() ausführt...
is sicher nicht ganz sauber, funktioniert aber...
ich muss erstma los, ich schreib die lösung morgen nochmal mit code hier rein, vieleicht brauchs nochma jemand (wenn ichs nicht vergesse)
-------------------------
und @ timmi: junge bevor du dich in sachen reinhängst von denen du augenscheinlich nicht die geringste ahnung zu haben scheinst, kümmer dich erstmal um deinen blöden knopf, der wahrscheinlich immer noch nicht das tut was er soll... zumindest war das was ich vorhin auf deinem monitor sehen konnte zioemlicher hokuspokus... jungejunge
|
|
|
|
|
 27 Apr 2010, 10:03
|

Voll Laser       
Punkte: 1430
seit: 21.08.2008
|
Zitat(Socres @ 26 Apr 2010, 21:18) glaubst du ich bin mitm klammersack gepudert oder was? ------------------------------- also so einfach gings nicht, (habs inzwischen hinbekommen) man brauch für diese SingleFrameApplication-dinger einen exitlistener. dieser besteht aus zwei actions: canExit und exit(oderso) canExit liefert boolean zurück und nur wenn dort true zurückgeliefert wird schließt das programm... allerdings betrifft das dann alle listener die mit quit() verbunden sind (oder so), dh man kann nicht einfach nen anderen "schließen"-knopp (bspw in der tray) mit der globalen schließen-aktion verknüpfen, sondern brauch für jeden einzelnen nubsi, der das programm wirklich schließen soll, nen eigenen handler der System.exit() ausführt... is sicher nicht ganz sauber, funktioniert aber... ich muss erstma los, ich schreib die lösung morgen nochmal mit code hier rein, vieleicht brauchs nochma jemand (wenn ichs nicht vergesse) ------------------------- und @ timmi: junge bevor du dich in sachen reinhängst von denen du augenscheinlich nicht die geringste ahnung zu haben scheinst, kümmer dich erstmal um deinen blöden knopf, der wahrscheinlich immer noch nicht das tut was er soll... zumindest war das was ich vorhin auf deinem monitor sehen konnte zioemlicher hokuspokus... jungejunge  Genau. Wenn du dein Programm oder dein Projekt nicht richtig einstellen kannst, dann kann ich auch nix dafür. Fakt ist bei mir funktioniert die Defaultvariante auf Windows und Linux. Keine Ahnung was du dir einbildest gesehen zu haben (ich habe meines Erachtens nur den Visual Editor ausprobiert). Ich bin mir relativ sicher das ich schon ein paar tausend Zeilen mehr Code in Java geschrieben habe als du. Also kümmer dich lieber um dich und deine sinnlosen Versuche einen JFrame unsichtbar zu machen.
|
|
|
|
|
 27 Apr 2010, 10:48
|

Herr Dachs         
Punkte: 8394
seit: 15.12.2004
|
junge such dir hobbies oder so, du gehst mir aufs schwein.
es geht nicht so wie dus sagst, das habe ich ausprobiert, da is es scheiß egal ob da nun HIDE_ON_CLOSE oder DO_NOTHING_ON_CLOSE (letzteres wollte ich btw deswegen verwenden, weil ich beim schließen noch andere dinge tun will als nur das fenster unsichtbar machen) in setDefaultClosingOperation steht... Bei einem stinknormalen JFrame funktioniert das natürlich, so schlau bin ich selbst!
ich habs grad nicht hier (weil Desktop nicht Notebook) aber wenn dus dir gern anschauen willst, ich bin dann bei Datenbanken. (ich schätze du eher nicht)
und jetzt noch in eigener sache: mir ist in meinem ganzen leben noch niemand begegnet der es geschafft hat mir in dem maße nachhaltig und stetig die nerven zu rauben wie du.
dein gehampel, deine dummen, wirklich unangebrachten sprüche, ja sogar wie du läufst und dabei grinst, dein benehmen den dozenten gegenüber (ja da muss ich mich wirklich fremdschämen, das is wie in der hauptschule förderschule 8. klasse), deine besserwisserei ohne überhaupt zu wissen worums überhaupt geht sowie tausend dinge mehr...
...all das geht mir so dermaßen auf die nüsse, daß ich mit freude zugucken würde wie dich irgend was schweres ausm 10. stock trifft. junge, du bist nich ganz klar im kopp, das wissen wir nun alle, entweder reiß dich am zippel oder mach ne therapie, oder friss wenigstens ordentliche tabletten und nich irgendwelche hippie-heilkräuter. das hält nämlich echt keiner aus.
|
|
|
|
|
 27 Apr 2010, 12:01
|

Voll Laser       
Punkte: 1430
seit: 21.08.2008
|
Zitat(Socres @ 27 Apr 2010, 10:48) junge such dir hobbies oder so, du gehst mir aufs schwein. es geht nicht so wie dus sagst, das habe ich ausprobiert, da is es scheiß egal ob da nun HIDE_ON_CLOSE oder DO_NOTHING_ON_CLOSE (letzteres wollte ich btw deswegen verwenden, weil ich beim schließen noch andere dinge tun will als nur das fenster unsichtbar machen) in setDefaultClosingOperation steht... Bei einem stinknormalen JFrame funktioniert das natürlich, so schlau bin ich selbst! ich habs grad nicht hier (weil Desktop nicht Notebook) aber wenn dus dir gern anschauen willst, ich bin dann bei Datenbanken. (ich schätze du eher nicht) und jetzt noch in eigener sache: mir ist in meinem ganzen leben noch niemand begegnet der es geschafft hat mir in dem maße nachhaltig und stetig die nerven zu rauben wie du. dein gehampel, deine dummen, wirklich unangebrachten sprüche, ja sogar wie du läufst und dabei grinst, dein benehmen den dozenten gegenüber (ja da muss ich mich wirklich fremdschämen, das is wie in der hauptschule förderschule 8. klasse), deine besserwisserei ohne überhaupt zu wissen worums überhaupt geht sowie tausend dinge mehr... ...all das geht mir so dermaßen auf die nüsse, daß ich mit freude zugucken würde wie dich irgend was schweres ausm 10. stock trifft. junge, du bist nich ganz klar im kopp, das wissen wir nun alle, entweder reiß dich am zippel oder mach ne therapie, oder friss wenigstens ordentliche tabletten und nich irgendwelche hippie-heilkräuter. das hält nämlich echt keiner aus.  1.) Du hast ne lustige Art deine entlarvten Möchtegernskills zu übertuschen 2.) Nimm einen JFrame junge ... 3.) Wenn du nicht weißt wie man eine Funktion überschreibt kann ich dir nicht helfen 2.) Den Rest nehme ich als Kompliment und fühle mich sehr geschmeichelt ... und nun ab husch husch zu Datenbanken damit du noch was lernst
|
|
|
|
|
 27 Apr 2010, 12:46
|

Herr Dachs         
Punkte: 8394
seit: 15.12.2004
|
Zitat(mcnesium @ 27 Apr 2010, 12:16) so meine lieben kleinen, jetzt geht ihr beide mal vor die tür und sagt euch dann gegenseitig, was ihr beim anderen nicht mögt. hauen dürft ihr euch auch, wenns sein muss. aber nich hier   naja der is nicht da, also was soll ich machen... und nein ich nehme keinen JFrame, einfach so, weil ich es nicht will, basta problem ist eh gelöst, also kann der thread auch geschlossen werden...
|
|
|
|
|
 27 Apr 2010, 14:27
|

1. Schein 
Punkte: 22
seit: 28.02.2008
|
NaziVergleich.activate(); // !
--------------------
Fucking for peace is like bombing for virginity.
|
|
|
|
|
 27 Apr 2010, 14:55
|

nütziger als nützig         
Punkte: 3169
seit: 07.03.2009
|
Zitat(avu @ 27 Apr 2010, 14:27) NaziVergleich.activate(); // !  If(1==1){ System.out.println("ihr seid doch alle hitler!");} Aber eigentlich können die ruhig weitermachen, mir hellt es grad die zugfahrt auf. :p edit: mein mobilteleofn kann keine geschweiften klammern, ohne dass ich das tastenlayout umstelle... @Socres: Timmey hat gesagt du stinkst und kannst mal gar nix. Dieser Beitrag wurde von lovehina: 27 Apr 2010, 16:28 bearbeitet
--------------------
"ich begebe mich auf eine unklare reise in ein geheimnisvolles land. ich werde antworten finden auf fragen, die ich nicht erkenne. die sonne geht auf.
ich renne im dunkeln. auf weichen sohlen bewege ich mich durch die stadt, den kragen hochgestellt. die zerschrammten knie streichelt der wind. nachts gehe ich ans meer und höre ihm zu.
ich sehe mit meine händen, ich träume im licht, ich schreibe briefe von der erde." -M.H.-
|
|
|
1 Nutzer liest/lesen dieses Thema (1 Gäste)
0 Mitglieder:
|