Hallo,
ich habe mein Hauptprogramm in einem Frame laufen. Dort habe ich einen Button platziert, und nun möchte ich bei einem Klick auf diesen Button ein neues Fenster anzeigen (einen Dialog). Das funktioniert auch. Aber leider kann ich das neu aufgetauchte Fenster nicht schließen, ich verstehe nicht warum. Hier der Code:
Das geht irgendwie nicht, also der Dialog lässt nicht nicht schließen. Wie ihr an der auskommentierten Zeile seht wollte ich es vorher auch anders machen. Meine Hauptklasse implementiert WindowListener und ich wollte dann sowas in der Art machen:
Also wenn die Quelle des WindowEvents der Dialog ist, dann soll dieser geschlossen werden. Geht aber auch nicht
Was mache ich falsch?
Und noch eine Frage: Hat AWT denn irgendwie vorgefertigte Dialoge, so Standardsachen wie eine yes/no Bestätigung oder so?
ich habe mein Hauptprogramm in einem Frame laufen. Dort habe ich einen Button platziert, und nun möchte ich bei einem Klick auf diesen Button ein neues Fenster anzeigen (einen Dialog). Das funktioniert auch. Aber leider kann ich das neu aufgetauchte Fenster nicht schließen, ich verstehe nicht warum. Hier der Code:
Code:
public void actionPerformed(ActionEvent ae) {
if (ae.getSource()==buttonNewWorld) {
dialog = new Dialog(this, "create new world", true);
dialog.setBounds(100, 100, 100, 100);
dialog.setVisible(true);
//dialog.addWindowListener(this);
dialog.addWindowListener( new WindowAdapter () {
public void windowClosing(WindowEvent event) {
dialog.setVisible(false);
dialog.dispose();
}
});
}
}
Das geht irgendwie nicht, also der Dialog lässt nicht nicht schließen. Wie ihr an der auskommentierten Zeile seht wollte ich es vorher auch anders machen. Meine Hauptklasse implementiert WindowListener und ich wollte dann sowas in der Art machen:
Code:
public void windowClosing(WindowEvent we) {
if (we.getSource()==this) {
setVisible( false );
dispose();
}
else if (we.getWindow()==dialog) {
System.out.println("Baum");
dialog.setVisible(false);
dialog.dispose();
}
}
Also wenn die Quelle des WindowEvents der Dialog ist, dann soll dieser geschlossen werden. Geht aber auch nicht
Und noch eine Frage: Hat AWT denn irgendwie vorgefertigte Dialoge, so Standardsachen wie eine yes/no Bestätigung oder so?