Ich sah verschiedene Antworten für diese Art von Frage, aber sie nicht meine Spezifikationen erfüllen. Ich habe eine Klasse app1.java. Es hat die public static void main
Funktion, in der es ein JOptionPane.showConfirmDialog
Objekt gibt. Wenn ich auf yes
klicke, möchte ich eine weitere Java-Datei namens "app2.java" ausführen und das aktuell laufende Programm schließen (d. H. App1.java). Ich habe versucht, diesen Code:Schließen Sie eine Java-Anwendung und starten Sie eine andere Anwendung
int response = JOptionPane.showConfirmDialog(null, "Do you want to restart?", "Restart Game?",
JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (response == JOptionPane.NO_OPTION) {
System.exit(0);
}
else if (response == JOptionPane.YES_OPTION) {
new app2();
}
else if (response == JOptionPane.CLOSED_OPTION) {
System.exit(0);
}
Das Problem ist, dass ja auf klicken, wird ein neues Fenster öffnet, aber das frühere nicht schließt. Ich kann System.exit nicht versuchen, da es beide Fenster schließt. Was soll getan werden?
Kontrolle dieses http://stackoverflow.com/questions/9572931/java-swing-application-close-one-window- und -öffnen-eine andere-wenn-Taste-geklickt wird – ziLk
Und bitte lesen Sie dies: [Mehrere JFrames] (http://StackOverflow.com/Questions/9554636/the-use-of-multiple-Jframes-good-oder- bad-practice/9554657) bevor Sie Ihre Anwendungsbenutzer zu sehr verärgern –
Beachten Sie, dass 'neue app2()' nicht unbedingt dasselbe tut wie app2, vorausgesetzt, dass app2 tatsächlich eine Anwendung ist - vorausgesetzt, es gibt eine main() -Methode in App2. – FredK