Com es tanca una finestra a Java (amb imatges)

Taula de continguts:

Com es tanca una finestra a Java (amb imatges)
Com es tanca una finestra a Java (amb imatges)

Vídeo: Com es tanca una finestra a Java (amb imatges)

Vídeo: Com es tanca una finestra a Java (amb imatges)
Vídeo: How to easily switch from Unc0ver to Odyssey on iOS 13 2024, Maig
Anonim

Aquest article us mostrarà com es tanca una finestra a Java. Tancar una finestra és molt més fàcil amb Swing

JFrame

però també es pot fer amb AWT

Marc

Passos

Mètode 1 de 2: utilitzar javax.swing. JFrame

Tanca la finestra java step1
Tanca la finestra java step1

Pas 1. Obteniu una instància de

JFrame

o bé creeu-ne un de nou.

Tanca la finestra java step2_with_import
Tanca la finestra java step2_with_import

Pas 2. Definiu l'operació de tancament per defecte

L'operació de tancament per defecte s'estableix mitjançant el mètode setter dins del fitxer

JFrame

classe

setDefaultCloseOperation

que determina què passa quan es fa clic al botó de tancament i pren els paràmetres següents:

  • WindowConstants. EXIT_ON_CLOSE

    - Tanca el marc i finalitza l'execució del programa.
  • WindowConstants. DISPOSE_ON_CLOSE

    - Tanca el marc i no necessàriament finalitza l'execució del programa.
  • WindowConstants. HIDE_ON_CLOSE

    - Fa que el marc sembli tancat establint la seva propietat de visibilitat en fals. La diferència entre

    HIDE_ON_CLOSE

    i

    DISPOSE_ON_CLOSE

  • és que aquest últim allibera tots els recursos utilitzats pel marc i els seus components.
  • WindowConstants. DO_NOTHING_ON_CLOSE

    - No fa res quan es prem el botó de tancament. Útil si voleu, per exemple, mostrar un diàleg de confirmació abans de tancar la finestra. Podeu fer-ho afegint un fitxer

    WindowListener

    al marc i substitueix

    finestraTancament

    mètode. Exemple de l'operació de tancament personalitzada:

      frame.setDefaultCloseOperation (WindowConstants. DO_NOTHING_ON_CLOSE); frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Demaneu confirmació abans de finalitzar el programa. int option = JOptionPane.showConfirmDialog (frame, "Esteu segur que voleu tancar l'aplicació?", "Confirmació de tancament", JOptionPane. YES_NO_OPTION, JOptionPane. QUESTION_MESSAGE); if (opció == JOptionPane. YES_OPTION) {System.exit (0);}}});

Mètode 2 de 2: utilitzar java.awt. Frame

Tanca la finestra java step1 method2
Tanca la finestra java step1 method2

Pas 1. Obteniu una instància de

Marc

o bé creeu-ne un de nou.

Tanca la finestra java step2 method2
Tanca la finestra java step2 method2

Pas 2. Afegiu un oient de finestres

Anomenada

addWindowListener

mètode a la instància. L’argument requerit és

WindowListener

. Podeu implementar tots els mètodes del fitxer

WindowListener

interfície o anul·leu només els mètodes que necessiteu

WindowAdapter

classe.

Tanca la finestra java step3 method2
Tanca la finestra java step3 method2

Pas 3. Gestioneu l'esdeveniment de tancament de finestres

Implementar

finestraTancament

mètode de

WindowListener

interfície o anul·leu-la des de

WindowAdapter

classe. Hi ha dues maneres de tancar una finestra:

  • Desfer la finestra després de fer clic al botó de tancament:

    • Anomenada

      disposar

      mètode dins

      finestraTancament

    • mètode.
    • frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Desfer la finestra després de fer clic al botó de tancament. dispose ();}});

  • Acabeu el programa després de fer clic al botó de tancament:

    • Anomenada

      System.exit

      mètode dins

      finestraTancament

    • mètode.
    • frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Termineu el programa després de fer clic al botó de tancament. System.exit (0);}});

Consells

  • El swing es prefereix a AWT, ja que aquest últim està obsolet.
  • Utilitzant

    WindowAdapter

    no cal que implementeu tots i cadascun dels mètodes

    WindowListener

  • el contracte ens ho indica, però només els que necessitem.

Recomanat: