Come chiudere una finestra in Java (con immagini)

Sommario:

Come chiudere una finestra in Java (con immagini)
Come chiudere una finestra in Java (con immagini)

Video: Come chiudere una finestra in Java (con immagini)

Video: Come chiudere una finestra in Java (con immagini)
Video: Trasferire Foto e Video da iPhone a PC / Mac (e viceversa) - Cavo USB o Wireless (2022) 2024, Maggio
Anonim

Questo articolo ti mostrerà come chiudere una finestra in Java. Chiudere una finestra è molto più semplice con Swing's

JFrame

ma è anche fattibile usando AWT's

Portafoto

Passi

Metodo 1 di 2: utilizzo di javax.swing. JFrame

Chiudi finestra java step1
Chiudi finestra java step1

Passaggio 1. Ottieni un'istanza di a

JFrame

o crearne uno nuovo.

Chiudi finestra java step2_with_import
Chiudi finestra java step2_with_import

Passaggio 2. Impostare l'operazione di chiusura predefinita

L'operazione di chiusura predefinita viene impostata utilizzando il metodo setter all'interno del

JFrame

classe

setDefaultCloseOperation

che determina cosa succede quando si fa clic sul pulsante di chiusura e prende i seguenti parametri:

  • WindowConstants. EXIT_ON_CLOSE

    - Chiude il frame e termina l'esecuzione del programma.
  • WindowCostanti. DISPOSE_ON_CLOSE

    - Chiude il frame e non termina necessariamente l'esecuzione del programma.
  • WindowConstants. HIDE_ON_CLOSE

    - Fa apparire il frame come se fosse chiuso impostando la sua proprietà di visibilità su false. La differenza tra

    HIDE_ON_CLOSE

    e

    DISPOSE_ON_CLOSE

  • è che quest'ultimo rilascia tutte le risorse utilizzate dal frame e dai suoi componenti.
  • WindowConstants. DO_NOTHING_ON_CLOSE

    - Non fa nulla quando viene premuto il pulsante di chiusura. Utile se si desidera, ad esempio, visualizzare una finestra di dialogo di conferma prima che la finestra venga chiusa. Puoi farlo aggiungendo a

    WindowListener

    al telaio e l'override

    finestra in chiusura

    metodo. Esempio dell'operazione di chiusura personalizzata:

      frame.setDefaultCloseOperation(WindowConstants. DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Chiedi conferma prima di terminare il programma. int option = JOptionPane.showConfirmDialog(frame, "Sei sicuro di voler chiudere l'applicazione?", "Chiudi Conferma", JOptionPane. YES_NO_OPTION, JOptionPane. QUESTION_MESSAGE); if (option == JOptionPane. YES_OPTION) { System.exit(0); } } });

Metodo 2 di 2: utilizzo di java.awt. Frame

Chiudi finestra java step1 method2
Chiudi finestra java step1 method2

Passaggio 1. Ottieni un'istanza di a

Portafoto

o crearne uno nuovo.

Chiudi finestra java step2 method2
Chiudi finestra java step2 method2

Passaggio 2. Aggiungi il listener di finestre

Chiamata

addWindowListener

metodo sull'istanza. L'argomento richiesto è

WindowListener

. Puoi implementare ogni metodo del

WindowListener

interfaccia o sovrascrivi solo i metodi di cui hai bisogno

WindowAdapter

classe.

Chiudi finestra java step3 method2
Chiudi finestra java step3 method2

Passaggio 3. Gestire l'evento di chiusura della finestra

Strumento

finestra in chiusura

metodo da

WindowListener

interfaccia o sovrascriverlo da

WindowAdapter

classe. Ci sono due modi per chiudere una finestra:

  • Elimina la finestra dopo aver fatto clic sul pulsante di chiusura:

    • Chiamata

      smaltire

      metodo dentro

      finestra in chiusura

    • metodo.
    • frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Elimina la finestra dopo aver fatto clic sul pulsante di chiusura. Dispose(); } });

  • Termina il programma dopo aver fatto clic sul pulsante di chiusura:

    • Chiamata

      System.exit

      metodo dentro

      finestra in chiusura

    • metodo.
    • frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // Termina il programma dopo aver fatto clic sul pulsante di chiusura. System.exit(0); } });

Suggerimenti

  • Lo swing è preferito all'AWT poiché quest'ultimo è davvero obsoleto.
  • Usando

    WindowAdapter

    non devi implementare ogni singolo metodo

    WindowListener

  • contratto ce lo dice, ma solo quelli di cui abbiamo bisogno.

Consigliato: