Kindfenster erzeugen (swing)

timestamp

Mitglied Käsekuchen
Hallo Forum

ich möchte mir einen eigenen FileDialog schreiben. Meine Idee dazu ist, in einem JFrame einen weiteren zu erstellen, der dann die gewünschten Schaltflächen Bereitstellt. Das derzeitige Problem ist: Wenn ich das Kindfensterschließe, schließt sich auch das Elternfenster. Wie muss ich den folgenden Code umschreiben?
Java:
window.setEnabled(false); //Elternfenster
JFrame popup = new JFrame(); //Kindfenster
popup.setSize(200,200);
popup.setResizable(false);
popup.setDefaultCloseOperation(EXIT_ON_CLOSE);
popup.setVisible(true);
 
Hi,

Soweit ich das sehe, ist dein Problem diese Zeile:
Java:
popup.setDefaultCloseOperation(EXIT_ON_CLOSE);

Damit beendet sich das System (das gesamte System, nicht nur das von "popup"), nachdem du den Frame schließt.

Dabei soll der Frame aber beim Klick auf das X nur "verschwinden", nehme ich an.
Zur Lösung könntest du also die oben genannte Code-Zeile mit der hier ersetzen:
Java:
popup.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

Wenn du vor dem Schließen noch irgendwas abfangen willst, kannst du ja auch einen WindowListener hinzufügen..

Gruß,
Martin
 
Java:
popup.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

Wäre doch bei einem Popup sinniger, oder? Oder versteh ich das nur falsch, dass du/er gar kein richtiges Popup erstellt/haben willst?
 
Danke für die Hinweise :)
Ich hab es jetzt wie folgt gelöst:
Java:
window.setEnabled(false); //Elternfenster
popup = new JFrame(); //Kindfenster
popup.setSize(200,200);
popup.setResizable(false);
popup.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
popup.setVisible(true);			
popup.addWindowListener(new WindowAdapter(){
  public void windowClosing(WindowEvent evt){
    popup.dispose();
    window.setEnabled(true);
    window.setVisible(true);    
  }
});
 

Neue Beiträge

Zurück