Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich habe ein Problem beim schließen meines Main-Frames.
Dies möchte ich mittels einer Methode "beenden()" machen.
Rufe ich die Methode über mein Menü auf, klappt alles.
Jedoch wenn ich die Methode über ein WindowEvent aufruf beendet er mir das Programm, auch wenn ich auf Nein klicke.
Die Methode beenden():
Java:
//Sicherheitsabfrage beim Schließen des Fensters
public void beenden(){
int result = JOptionPane.showConfirmDialog(null,"Wollen sie das Programm wirklich beenden", "Programm beenden", JOptionPane.YES_NO_OPTION);
switch(result){
case JOptionPane.YES_OPTION:
System.exit(0);
case JOptionPane.NO_OPTION:
}
}
So rufe ich die Methode über das WindowEvent auf:
Java:
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
int result = JOptionPane.showConfirmDialog(null,"Wollen sie das Programm wirklich beenden", "Programm beenden", JOptionPane.YES_NO_OPTION);
switch(result){
case JOptionPane.YES_OPTION:
System.exit(0);
case JOptionPane.NO_OPTION:
}
}
});
Und wen es Interessiert hier rufe ich die Methode mit dem Menü auf:
War über das Wochenende leider verhindert um diese Auszuprobieren.
Gucky mit dem equals hast du recht. Danke für den Hinweis.
Ich muss leider sagen das Problem besteht immernoch.
Ich hab jetzt sogar versucht die beenden() Methode im windowsAdapter aufzurufen.
Das Fenster schließt sich leider Trozdem wenn ich auf Nein klicke.
Eine Idee, die mir eben gekommen ist:
Kann es sein, dass wen ich auf das x im Programm klicke der Befehl zum schließen kommt. Durch den Dialog aufruf dieser aber nur Pausiert wird. Wenn nun mein Dialog abgearbeitet ist, wird das schließen trozdem ausgeführt.
Lösungsvorschlag:
Gibt es eine Möglichkeit dies zu unterbrechen oder ist einfach windowClosing() die Falsche Methode die ich aufrufe im WindowListener?
Ich muss leider sagen das Problem besteht immernoch.
Ich hab jetzt sogar versucht die beenden() Methode im windowsAdapter aufzurufen.
Das Fenster schließt sich leider Trozdem wenn ich auf Nein klicke.
Perfekt =)
Danke das war die Methode die ich gesucht habe =)
Also war meine Vermutung richtig. Nein hatte ich bis jetzt noch nicht weil ich nicht wusste in wie fern ich dies hätte machen können.