Cum se închide o fereastră în Java (cu imagini)

Cuprins:

Cum se închide o fereastră în Java (cu imagini)
Cum se închide o fereastră în Java (cu imagini)

Video: Cum se închide o fereastră în Java (cu imagini)

Video: Cum se închide o fereastră în Java (cu imagini)
Video: How to USE Twitter on a Computer - Upload a Video to Your Account | Tutorial 17 2024, Mai
Anonim

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

Închide fereastra java step1
Închide fereastra java step1

Pasul 1. Obțineți o instanță a

JFrame

sau creați unul nou.

Închide fereastra java step2_with_import
Închide fereastra java step2_with_import

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

    - Închide cadrul și încetează executarea programului.
  • WindowConstants. DISPOSE_ON_CLOSE

    - Închide cadrul și nu încetează neapărat execuția programului.
  • WindowConstants. HIDE_ON_CLOSE

    - Face ca cadrul să pară închis, setând proprietatea sa de vizibilitate la fals. Diferența dintre

    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

    - Nu face nimic când este apăsat butonul de închidere. Util dacă doriți, de exemplu, să afișați un dialog de confirmare înainte ca fereastra să fie închisă. Puteți face acest lucru adăugând un

    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

Închide fereastra java step1 method2
Închide fereastra java step1 method2

Pasul 1. Obțineți o instanță a

Cadru

sau creați unul nou.

Închide fereastra java step2 method2
Închide fereastra java step2 method2

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ă.

Închide fereastra java step3 method2
Închide fereastra java step3 method2

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.

Recomandat: