_
toggle menu eXmatrikulationsamt.de
online: 369 gäste

>Java, ich raffs nich setDefaultCloseOperation(JFrame.DO_NOTHING_ON_C...

Themen Layout: Standard · Linear · [Outline] Thema abonnieren | Thema versenden | Thema drucken
post 25 Apr 2010, 23:45
avatar
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]
ProfilPM
AntwortenZitierenTOP
 
Antworten
post 26 Apr 2010, 21:18
avatar
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
ProfilPM
AntwortenZitierenTOP
Beiträge
Socres   Java, ich raffs nich   25 Apr 2010, 23:45
Polygon   Was passiert denn dann jetzt bei "Alt+F4...   27 Apr 2010, 21:31
stabilo   Muss das hier sein?   27 Apr 2010, 12:15
Stormi   hihi :tongue3:   27 Apr 2010, 12:23
avu   NaziVergleich.activate(); // !   27 Apr 2010, 14:27
lovehina   If(1==1){ System.out.println("ihr seid doch ...   27 Apr 2010, 14:55
1 Nutzer liest/lesen dieses Thema (1 Gäste)
0 Mitglieder: