_
toggle menu eXmatrikulationsamt.de
online: 375 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
post 26 Apr 2010, 08:47
avatar
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."


--------------------
bild kann nicht angezeigt werden
ProfilPM
AntwortenZitierenTOP
post 26 Apr 2010, 12:17
avatar
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... wacko.gif
ProfilPM
AntwortenZitierenTOP
post 26 Apr 2010, 18:14
avatar
Voll Laser
*******

Punkte: 1430
seit: 21.08.2008

rofl.gif rofl.gif

Hast du schon mal mit der Java Reference gearbeitet?

JFrame


Ohne Mist! Das was du machen willst ist die Defaulteinstellung (HIDE_ON_CLOSE) eines JFrame's . Das Fenster wird versteckt wenn du auf close drückst. Mit *.show() kannst du ihn wieder sichtbar machen.


Das ganze wäre nicht so witzig, wenn du mir, vorhin in Englisch, nicht versucht hättest Events und Actions zu erklären.

Dieser Beitrag wurde von I.I: 26 Apr 2010, 18:23 bearbeitet


--------------------
Verein: USV TU Dresden

--Film Fan--
--Poker Fan--
--Billard Fan--
--Schach Fan--
--Fußball Fan--
--Rennrad Fan--
--Triathlon Fan--
--Volleyball Fan--

--Luiz Bonfa Fan--
--Eliane Elias Fan--
--Scott Joplin Fan--
--The Beatles Fan--
--Woody Allen Fan--
--Bodo Wartke Fan--
--Joao Gilberto Fan--
--Monty Python Fan--
--Volker Pispers Fan--
--Ennio Morricone Fan--
--Alfred Hitchcock Fan--
--Georg Schramm Fan--
--Kool & The Gang Fan--
--Earth, Wind & Fire Fan--

--V for Vendetta Fan--
--Das Leben des Brian Fan--
--Jackie Brown Soundtrack Fan--
ProfilPM
AntwortenZitierenTOP
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
post 27 Apr 2010, 10:03
avatar
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.
ProfilPM
AntwortenZitierenTOP
post 27 Apr 2010, 10:48
avatar
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.
ProfilPM
AntwortenZitierenTOP
post 27 Apr 2010, 12:01
avatar
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
ProfilPM
AntwortenZitierenTOP
post 27 Apr 2010, 12:15
avatar
Exmatrikulator
*********

Punkte: 2083
seit: 17.08.2006

Muss das hier sein?
ProfilPM
AntwortenZitierenTOP
post 27 Apr 2010, 12:16
avatar
parse error
*********

Punkte: 13758
seit: 27.05.2003

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 busted_red.gif
ProfilPM
AntwortenZitierenTOP
post 27 Apr 2010, 12:23
avatar
eXma Poltergeist
*********

Punkte: 6729
seit: 20.10.2004

hihi tongue3.gif


--------------------
ProfilPM
AntwortenZitierenTOP
post 27 Apr 2010, 12:29
avatar
~ Perle der Natur ~
*********

Punkte: 4967
seit: 25.01.2006

bild kann nicht angezeigt werden
Pic related.


--------------------
We have enough youth, how about a fountain of smart?


"Do you know what time it is? It's do-o'clock."

"Heut mach ich mir kein Abendbrot - heut mach ich mir Gedanken!"
ProfilPM
AntwortenZitierenTOP
post 27 Apr 2010, 12:46
avatar
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 busted_red.gif
*



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...
ProfilPM
AntwortenZitierenTOP
post 27 Apr 2010, 14:27
avatar
1. Schein
*

Punkte: 22
seit: 28.02.2008

NaziVergleich.activate(); // !


--------------------
Fucking for peace is like bombing for virginity.
ProfilPM
AntwortenZitierenTOP
post 27 Apr 2010, 14:55
avatar
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.-
ProfilPM
AntwortenZitierenTOP
1 Nutzer liest/lesen dieses Thema (1 Gäste)
0 Mitglieder: