Saltar al contenido

Botón para cerrar un JDialog

Solución:

import java.awt.event.*;
import javax.swing.*;

public class YourDialog extends JDialog implements ActionListener {

  JButton button;

  public YourDialog() {
     button = new JButton("Close");
     button.addActionListener(this);
     add(button);
     pack();
     setVisible(true);
  }

  public void actionPerformed(ActionEvent e) {
      dispose();
  }
}
  • cerrar solo dialolg usando dispose() el marco principal del método no está cerrado. razón por la que JVM no terminó.

Puedes tener el ActionListener enviar un WindowEvent.WINDOW_CLOSING, como se muestra aquí.

En el actionPerformed() método de ActionListener querrás algo como:

dialog.setVisible(false);

Si desea deshacerse del cuadro de diálogo de forma permanente (liberarlo de la memoria), entonces debería además llama:

dialog.dispose(); 

… donde diálogo es el nombre de su diálogo. Si dialog es una variable local, necesitará hacerla final para acceder a ella de esta manera (o simplemente asegurarse de que sea “efectivamente final” desde Java 8 en adelante).

Si está agregando el botón como parte de una subclase de JDialog (es decir, si tiene class MyDialog extends JDialog y estás agregando el oyente de acción en MyDialog) querrás:

MyDialog.this.setVisible(false);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *