Ich bin auf ein Problem gestoßen. Ich möchte einen Internal Frame über das x schließen, dabei soll allerdings nachgefragt werden ob, wirklich geschlossen werden soll und es soll überprüft werden, ob sich die Daten innerhalb des Internal Frames geändert haben. Bei meinem Hauptfenster hat das auch alles wunderbar geklappt, aber bei dem internal Frame hab ich Probleme.
Bei dem folgenden Code geht es mit erstmal darum, dass der internal Frame nicht geschlossen wird, wenn die daten noch nicht gespeichert sind.
Hier ist mal der Codeausschnitt:
Ich hatte schon einiges ausprobiert, und habtte so ziehmlich alles von Endlosschleife bis dahin, dass GARNIX passiert
Bei der Version gibts nen Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
Bin im Augenblick ein wenig ratlos.
Danke
Bei dem folgenden Code geht es mit erstmal darum, dass der internal Frame nicht geschlossen wird, wenn die daten noch nicht gespeichert sind.
Hier ist mal der Codeausschnitt:
Code:
private void initialize() {
this.setContentPane(getJTabbedPane());
this.setBounds(500, 277, 500, 420);
this.setName("Einstellungen");
this.setTitle("Einstellungen");
this.setClosable(true);
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
//TODO
this.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() {
public void internalFrameClosing(javax.swing.event.InternalFrameEvent e) {
steuerungE.gibMod(); // gibt den Zustand, ob die Daten modifiziert wurden
if (mod == true) // ueberprueft den Zustand der Modifizierung
{
int frage = JOptionPane.showConfirmDialog(desktop, "Daten noch nicht gespeichert, jetzt speichern?",
"Frage", JOptionPane.YES_NO_OPTION);
if (frage == JOptionPane.YES_OPTION) // Frage, ob gespeichert werden soll, oder nicht
{
try {
steuerungE.speichereEinstellungen();//Einstellungen werden gespeichert
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
else
{
fensterSchliessen(); //Methode, die ein Fenster schliesst
}
}
else
{
fensterSchliessen();
}
}
});
}
Bei der Version gibts nen Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
Bin im Augenblick ein wenig ratlos.
Danke