HakBak hat gesagt.:Ich möchte halt, dass vorher gespeichert wird, bzw., dass eine Abfrag kommt, wenn man den knopf betätigt, aber ich habe bisher noch nichts gefunden.
private boolean isModified = false;
...
// im Konstruktor der Fensterklasse
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
exit();
}
});
...
...
...
/**Methode zum Beenden des Programms*/
private void exit() {
if(isModified)) { //wenn Daten geändert wurden
int answer = -1;
answer = javax.swing.JOptionPane.showConfirmDialog(null, "Es wurden Daten geändert.\nSollen die Änderungen gespeichert werden?",
"Ändern von Daten bestätigen", javax.swing.JOptionPane.YES_N_OPTION);
switch(answer) {
case 0: //YES_OPTION
//speichern der Daten
}
}
System.exit(0);
}
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
int speichernFrage = JOptionPane.showConfirmDialog(desktop, "Sollen die Daten gespeichert werden?",
"Frage", JOptionPane.YES_NO_OPTION);
if(speichernFrage == JOptionPane.YES_OPTION)
{
speichern();
int beendenFrage = JOptionPane.showConfirmDialog(desktop, "Soll das Programm jetzt beendet werden?",
"Frage", JOptionPane.YES_NO_OPTION);
if(beendenFrage == JOptionPane.YES_OPTION)
{
System.exit(0);
}
else
{
return;
}
}
else
{
int beendenFrage = JOptionPane.showConfirmDialog(desktop, "Soll das Programm jetzt beendet werden?",
"Frage", JOptionPane.YES_NO_OPTION);
if(beendenFrage == JOptionPane.YES_OPTION)
{
System.exit(0);
}
else
{
return;
}
}
}
});
setDefaultCloseOperation(WindowConstats.DO_NOTHING_ON_CLOSE);
Du solltest auf jeden Fall, sofern noch nicht geschehen, die Daten innerhalb einer Methode in die TreeMap speichern.HakBak hat gesagt.:nun aber, ich überprüfe ich ob sich die daten geändert haben. Ich speicher meine daten in einem treemap. Mir feht da gerade ein wenig die idee dafür.
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);