Ich habe einen kleinen Rahmen, wo ich Benutzer & amp; Passwort. Dieser Rahmen wird durch Klicken auf eine Schaltfläche in einem Hauptfenster geöffnet.
Dann habe ich zwei Tasten: ok und abbrechen.
Wenn ich auf "Abbrechen" klicke, muss ich diesen Rahmen schließen, ohne die App zu beenden.
Wie kann ich das tun?
Sie können entweder Frame.hide () oder Frame.dispose () verwenden. Ich würde auch empfehlen, in JDialog oder JOptionPane
zu schauenKorrektur: hide () ist veraltet. SetVisible (false) sollte stattdessen verwendet werden
Sie können setVisible (false) für den Rahmen aufrufen.
Sie können setDefaultCloseOperation auch für den Rahmen aufrufen, der in HIDE_ON_CLOSE übergeben wird (Informationen hier: Ссылка ). Dadurch wird verhindert, dass die App entfernt wird, wenn der Benutzer das "X" auf dem JFrame zum Schließen drückt.
setVisible gibt keine Speicherressourcen frei und sollte nur verwendet werden, wenn das Formular erneut verwendet werden soll.
Die Methode dispare Gibt alle nativen Bildschirmressourcen frei, die von diesem Fenster, seinen Unterkomponenten und allen zugehörigen untergeordneten Elementen verwendet werden. Das bedeutet, dass die Ressourcen für diese Komponenten zerstört werden. Der von ihnen verbrauchte Speicher wird an das Betriebssystem zurückgegeben und als nicht wiedergabebereit markiert.
Mache eine Funktion in der äußeren Klasse, in der du JFrame
implementierst (du musst schließen, wenn du den Abbrechen-Button drückst).
Schreibe this.setVisible(false);
in die Implementierung dieser Funktion.
Rufen Sie diese Funktion schließlich in der ActionListener
-Implementierung auf, wenn Sie sie schließen möchten.
Sie können es auf viele Arten tun, aber diese zwei Wege sind am nützlichsten
1. Schreibe this.setVisible(false)
in inside implementiert ActionListener
Oder
2. Schreiben Sie this.dispose()
in das implementierte ActionListener
.
Hoffe, das wird dir helfen.