Cómo cerrar una ventana en Java (con imágenes)

Tabla de contenido:

Cómo cerrar una ventana en Java (con imágenes)
Cómo cerrar una ventana en Java (con imágenes)

Video: Cómo cerrar una ventana en Java (con imágenes)

Video: Cómo cerrar una ventana en Java (con imágenes)
Video: Cómo DESCARGAR VÍDEOS de TWITTER - iPhone, Android y PC | ChicaGeek 2024, Mayo
Anonim

Este artículo le mostrará cómo cerrar una ventana en Java. Cerrar una ventana es mucho más fácil con Swing

JFrame

pero también es factible con AWT

Cuadro

Pasos

Método 1 de 2: uso de javax.swing. JFrame

Cerrar ventana java step1
Cerrar ventana java step1

Paso 1. Obtenga una instancia de

JFrame

o cree uno nuevo.

Cerrar ventana java step2_with_import
Cerrar ventana java step2_with_import

Paso 2. Establezca la operación de cierre predeterminada

La operación de cierre predeterminada se establece utilizando el método de establecimiento dentro del

JFrame

clase

setDefaultCloseOperation

que determina qué sucede cuando se hace clic en el botón de cierre y toma los siguientes parámetros:

  • WindowConstants. EXIT_ON_CLOSE

    - Cierra el marco y finaliza la ejecución del programa.
  • WindowConstants. DISPOSE_ON_CLOSE

    - Cierra el marco y no finaliza necesariamente la ejecución del programa.
  • WindowConstants. HIDE_ON_CLOSE

    - Hace que el marco parezca cerrado estableciendo su propiedad de visibilidad en falso. La diferencia entre

    HIDE_ON_CLOSE

    y

    DISPOSE_ON_CLOSE

  • es que este último libera todos los recursos utilizados por el marco y sus componentes.
  • WindowConstants. DO_NOTHING_ON_CLOSE

    - No hace nada cuando se presiona el botón de cierre. Útil si desea, por ejemplo, mostrar un cuadro de diálogo de confirmación antes de que se cierre la ventana. Puede hacerlo agregando un

    WindowListener

    al marco y anulando

    ventanaCierre

    método. Ejemplo de la operación de cierre personalizado:

      frame.setDefaultCloseOperation (WindowConstants. DO_NOTHING_ON_CLOSE); frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Solicitar confirmación antes de terminar el programa. int option = JOptionPane.showConfirmDialog (frame, "¿Está seguro de que desea cerrar la aplicación?", "Cerrar Confirmación", JOptionPane. YES_NO_OPTION, JOptionPane. QUESTION_MESSAGE); if (opción == JOptionPane. YES_OPTION) {System.exit (0);}}});

Método 2 de 2: uso de java.awt. Frame

Cerrar ventana java step1 method2
Cerrar ventana java step1 method2

Paso 1. Obtenga una instancia de

Cuadro

o cree uno nuevo.

Cerrar ventana java step2 method2
Cerrar ventana java step2 method2

Paso 2. Agregue el detector de ventana

Llama

addWindowListener

método en la instancia. El argumento requerido es

WindowListener

. Puede implementar todos los métodos del

WindowListener

interfaz o anule solo los métodos que necesita de

WindowAdapter

clase.

Cerrar ventana java step3 method2
Cerrar ventana java step3 method2

Paso 3. Manejar el evento de cierre de la ventana

Implementar

ventanaCerrando

método de

WindowListener

interfaz o anularlo desde

WindowAdapter

clase. Hay dos formas de cerrar una ventana:

  • Deseche la ventana después de hacer clic en el botón de cierre:

    • Llama

      disponer

      método en el interior

      ventanaCerrando

    • método.
    • frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Desecha la ventana después de hacer clic en el botón de cierre. dispose ();}});

  • Termine el programa después de hacer clic en el botón de cierre:

    • Llama

      System.exit

      método en el interior

      ventanaCierre

    • método.
    • frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Termina el programa después de hacer clic en el botón de cierre. System.exit (0);}});

Consejos

  • Se prefiere Swing sobre AWT ya que este último está realmente desactualizado.
  • Utilizando

    WindowAdapter

    no tienes que implementar todos y cada uno de los métodos

    WindowListener

  • el contrato nos dice que lo hagamos, pero solo los que necesitamos.

Recomendado: