Acest articol vă va arăta cum să închideți o fereastră în Java. Închiderea unei ferestre este mult mai ușoară folosind Swing's
JFrame
dar este de asemenea realizabil folosind AWT-uri
Cadru
Pași
Metoda 1 din 2: Utilizarea javax.swing. JFrame
Pasul 1. Obțineți o instanță a
JFrame
sau creați unul nou.
Pasul 2. Setați operația de închidere implicită
Operația de închidere implicită este setată folosind metoda setter din interiorul
JFrame
clasă
setDefaultCloseOperation
care determină ce se întâmplă când se face clic pe butonul de închidere și ia următorii parametri:
-
WindowConstants. EXIT_ON_CLOSE
-
WindowConstants. DISPOSE_ON_CLOSE
-
WindowConstants. HIDE_ON_CLOSE
HIDE_ON_CLOSE
și
DISPOSE_ON_CLOSE
- este că acesta din urmă eliberează toate resursele utilizate de cadru și componentele sale.
-
WindowConstants. DO_NOTHING_ON_CLOSE
WindowListener
la cadru și suprascriere
windowClosing
metodă. Exemplu de operație de închidere personalizată:
frame.setDefaultCloseOperation (WindowConstants. DO_NOTHING_ON_CLOSE); frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Solicitați confirmarea înainte de a termina programul. int option = JOptionPane.showConfirmDialog (cadru, "Sigur doriți să închideți aplicația?", „Închidere confirmare”, JOptionPane. YES_NO_OPTION, JOptionPane. QUESTION_MESSAGE); if (opțiune == JOptionPane. YES_OPTION) {System.exit (0);}}});
Metoda 2 din 2: Utilizarea java.awt. Frame
Pasul 1. Obțineți o instanță a
Cadru
sau creați unul nou.
Pasul 2. Adăugați un ascultator de ferestre
Apel
addWindowListener
metoda pe instanță. Argumentul necesar este
WindowListener
. Puteți implementa fiecare metodă a fișierului
WindowListener
interfață sau suprascrieți doar metodele de care aveți nevoie
WindowAdapter
clasă.
Pasul 3. Gestionarea evenimentului de închidere a ferestrei
Implementați
windowClosing
metoda din
WindowListener
interfață sau suprascrieți-o din
WindowAdapter
clasă. Există două moduri de a închide o fereastră:
-
Eliminați fereastra după ce faceți clic pe butonul de închidere:
-
Apel
dispune
metoda în interior
windowClosing
- metodă.
frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Aruncați fereastra după ce se face clic pe butonul de închidere. dispose ();}});
-
Încheiați programul după ce faceți clic pe butonul de închidere:
-
Apel
System.exit
metoda în interior
windowClosing
- metodă.
frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Terminați programul după ce se face clic pe butonul de închidere. System.exit (0);}});
sfaturi
- Swing este preferat față de AWT, deoarece acesta din urmă este într-adevăr depășit.
-
Folosind
WindowAdapter
nu trebuie să implementați fiecare metodă
WindowListener
- contractul ne spune, dar numai de cele de care avem nevoie.