Hallo,
ich habe einen JDialog den ich durch expliziten Aufruf von dispose() schließe (durch JButton ausgelöst).
Wenn ich die Anwendung beende wird für diesen JDialog nochmals dispose() aufgerufen - diesmal aber nicht von mir.
(bzw. wenn ich X mal jDialog öffne und schließe wird 2X mal dispose() aufgerufen).
Frage: wer ruft da dispose() auf und wie verhindere ich das? Bzw.: wie gebe ich den JDialog korrekt frei?
Hier noch ein paar Daten:
Java(TM) SE Runtime Environment (build 1.6.0_02-b06)
Ich habe dispose() von "meinem" JDialog überladen (daher weiß ich von dem 2x Aufruf):
Der JDialog ist modal und erbt den JFrame welcher auch der Haupt-Frame meiner Anwendung ist.
Also sowas wie:
ich habe einen JDialog den ich durch expliziten Aufruf von dispose() schließe (durch JButton ausgelöst).
Wenn ich die Anwendung beende wird für diesen JDialog nochmals dispose() aufgerufen - diesmal aber nicht von mir.
(bzw. wenn ich X mal jDialog öffne und schließe wird 2X mal dispose() aufgerufen).
Frage: wer ruft da dispose() auf und wie verhindere ich das? Bzw.: wie gebe ich den JDialog korrekt frei?
Hier noch ein paar Daten:
Java(TM) SE Runtime Environment (build 1.6.0_02-b06)
Ich habe dispose() von "meinem" JDialog überladen (daher weiß ich von dem 2x Aufruf):
Code:
@Override
public void dispose() {
System.out.println("dispose");
super.dispose();
}
Der JDialog ist modal und erbt den JFrame welcher auch der Haupt-Frame meiner Anwendung ist.
Also sowas wie:
Code:
public class Anwendung extends JFrame {
[...]
public void tuWas() {
new MyJDialog(this);
}
[...]
}
Code:
public class MyJDialog extends JDialog {
[...]
public MyJDialog(JFrame owner) {
super(owner, true);
[...]
}
[...]
public void actionPerformed(IVEventSender arg0) {
[...]
dispose();
[...]
}
[...]
}