J
Joltan
Gast
Hallo, ich hätte mal wieder eine Verständnisfrage:
Ich habe ein Form (JFrame) mit einem Close-Button. Wenn der gedrückt wird, dann wird eine angepaßte .dispose-Methode ausgeführt, welche ein anderes Fenster öffnet.
Das funktioniert auch wunderbar, soweit also alles ok. Nur, wenn ich das gleiche aus einem WindowListener aufrufe (z.B. wenn das Fenster über den 'x'-Knopf des Fensters geschlossen wird), dann wird zwar die dispose-Methode ausgeführt, meine Applikation schließt aber und mein anderes Fenster erscheint nicht...
Über die Ausgabe mit System.out weiß ich, daß meine dispose-Methode definitiv ausgeführt wird - nur, warum erscheint mein anderes Fenster nicht? Wie müßte ich es anstellen, damit das ganze funktioniert?
Ich habe ein Form (JFrame) mit einem Close-Button. Wenn der gedrückt wird, dann wird eine angepaßte .dispose-Methode ausgeführt, welche ein anderes Fenster öffnet.
Das funktioniert auch wunderbar, soweit also alles ok. Nur, wenn ich das gleiche aus einem WindowListener aufrufe (z.B. wenn das Fenster über den 'x'-Knopf des Fensters geschlossen wird), dann wird zwar die dispose-Methode ausgeführt, meine Applikation schließt aber und mein anderes Fenster erscheint nicht...
Code:
public class MyWindow extends JFrame{
public MyWindow(){
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
System.out.println("Closing: löse dispose aus...");
((java.awt.Window)e.getSource()).dispose();
}
});
}
public void dispose(){
System.out.println("Disposing...");
new MyOtherWindow().setVisible(true);
super.dispose();
}
}
Über die Ausgabe mit System.out weiß ich, daß meine dispose-Methode definitiv ausgeführt wird - nur, warum erscheint mein anderes Fenster nicht? Wie müßte ich es anstellen, damit das ganze funktioniert?