Lemmy Danger: EIN fenster schliessen

Beitrag lesen

Guude!

public void windowClosing(WindowEvent e)
   {
      System.exit(0);
   }

Ein "System.exit(0)" veranlasst die JVM sich selbst zu beenden, insofern schließen sich beide Fenster. Wenn Du möchtest, dass sich nur das eine Fenster schließt, verwende die Methoden "dispose()" und "setVisible(false)":

public void windowClosing(WindowEvent event) {
   event.getWindow().setVisible(false);
   event.getWindow().dispose();
}

Etwas universeller kannst Du Deinen WindowAdapter gestalten, indem Du in seinem Konstruktor einen Boolean-Wert übergibst, der bestimmt, ob die JVM beendet werden soll:

import java.awt.event.*;

public class CFensterLauscher extends WindowAdapter {

private boolean exitSystem;

public WindowClosingAdapter(boolean exitSystem) {
      this.exitSystem = exitSystem;
   }

public void windowClosing(WindowEvent event) {
      event.getWindow().setVisible(false);
      event.getWindow().dispose();
      if(exitSystem) {
         System.exit(0);
      }
   }
}

Für das Fenster Deiner Hauptanwendung registrierst Du den WindowAdapter mit "addWindowListener(new CFensterLauscher(true))", für das zweite Fenster entsprechend mit "false".

LG ausm Hesseland
Lemmy

--
Wer seiner Frau gegenüber stets beteuert, dass DAS tatsächlich 30cm sind, darf sich nicht wundern, wenn sie nicht richtig einparken kann...