La función principal de un cuadro de diálogo es que una aplicación o sitio web recupere alguna entrada del usuario. Esa entrada puede ser un reconocimiento de que han leído un mensaje o algo que ingresan en un área de texto.

Un cuadro de diálogo capta inmediatamente la atención del usuario. Es una herramienta perfecta para recopilar o mostrar información importante.

Java es un lenguaje diverso que proporciona varias clases para crear cuadros de diálogo. Estas clases incluyen JOptionPane, JDialog y JFrame.

La clase JOptionPane

Puede crear un cuadro de diálogo estándar utilizando uno de varios métodos estáticos pertenecientes a la clase JOptionPane. Éstos incluyen:

  • Mostrar diálogo de mensaje (), que transmite un mensaje al usuario.
  • mostrarConfirmDialog(), que hace una pregunta que requiere confirmación.
  • Mostrar diálogo de entrada (), que solicita al usuario que ingrese.
  • mostrarDiálogoOpción(), que es una combinación de los otros tres métodos.

Creación de un cuadro de diálogo JOptionPane

importar
instagram viewer
javax.swing. Marco J;
importar javax.swing. JOptionPane;

públicoclaseJOptionPaneApp{
JOptionPaneApp() {
Marco JFrame = nuevo JFrame();
JOptionPane.showMessageDialog (marco, "Esta es una ventana de mensaje de JOptionPane");
}

públicoestáticovacíoprincipal(Cadena[] argumentos){
nuevo JOptionPaneApp();
}
}

El código anterior crea el siguiente cuadro de diálogo:

Aunque JOptionPane proporciona cuadros de diálogo estándar, tiene muchas opciones que le permiten modificar su comportamiento. Por ejemplo, el cuadro de diálogo del mensaje puede tomar uno de varios tipos. El de arriba es un ejemplo de un INFORMACIÓN_MENSAJE, que es el predeterminado. Los otros tipos de mensajes son:

  • MENSAJE DE ERROR
  • MENSAJE DE ADVERTENCIA
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

Crear un mensaje de error

Aquí hay un ejemplo de cómo usar un tipo de mensaje diferente para su diálogo JOptionPane:

JOptionPane.showMessageDialog (marco, "Esta es una ventana de mensaje de error de JOptionPane.",
"Error", JOptionPane. MENSAJE DE ERROR);

Reemplace la Mostrar diálogo de mensaje () línea en el programa original con la línea de código anterior, y verá el siguiente cuadro de diálogo de error:

La clase JDialog

La clase JDialog le permite crear cuadros de diálogo personalizados. Este clase Java pertenece a la javax.swing paquete y extiende la clase Dialog. Tiene acceso a una amplia variedad de métodos directos e indirectos. Esta clase Java tiene un total de 16 Constructores Java.

Además del constructor predeterminado, cada uno de los otros 15 toma un marco, una ventana o un cuadro de diálogo con una combinación de varios otros argumentos.

Los principales constructores de JDialog incluyen:

  • JDialog() crea un cuadro de diálogo sin marco, título o modo.
  • JDialog (propietario del diálogo, título de cadena, modal booleano) crea un cuadro de diálogo con un propietario de diálogo, un título de cadena y un modo.
  • JDialog (propietario del marco, título de la cadena, modal booleano) crea un cuadro de diálogo con un propietario de marco, un título de cadena y un modo.
  • JDialog (propietario de ventana, título de cadena, modal booleano) crea un cuadro de diálogo con un propietario de ventana, un título de cadena y un modo.

Creación de un cuadro de diálogo JDialog

importar java.awt. diseño de flujo;
importar java.awt.event. Evento de acción;
importar java.awt.event. ActionListener;
importar javax.swing. Botón J;
importar javax.swing. JDialog;
importar javax.swing. Marco J;
importar javax.swing. Etiqueta J;
importar javax.swing. Constantes de ventana;

públicoclaseJDialogApp{
JDialogApp() {
Marco JFrame = nuevo JFrame();
Cuadro de diálogo JDialog = nuevo JDialog (marco, verdadero);
diálogo.setLayout(nuevo FlowLayout());

JLabel mostrarTexto = nuevo JLabel("Esta es una ventana de JDialog.");
Botón Jbtn = nuevo BotónJ("OK");

btn.addActionListener(nuevo OyenteAcción() {
públicovacíoacción realizada(Evento de acción e){
diálogo.setVisible(falso);
}
});

dialog.add (mostrarTexto);
diálogo.add (btn);

diálogo.setSize(200,150);
dialog.setTitle("Ventana de diálogo");
diálogo.setVisible(verdadero);
dialog.setDefaultCloseOperation (Constantes de ventana. DISPOSE_ON_CLOSE);
}

públicoestáticovacíoprincipal(Argumentos de cadena []){
nuevo JDialogApp();
}
}

El código anterior crea el siguiente cuadro de diálogo:

Hay varios aspectos importantes del código que debe tener en cuenta. El programa utiliza el JDialog (propietario del marco, modal booleano) constructor, al que pasa un JFrame y el valor “verdadero” como argumentos. JFrame es el propietario de JDialog, lo que significa que es responsable de mostrar el cuadro de diálogo. El valor "verdadero" significa que el cuadro de diálogo bloquea la entrada a otras ventanas relacionadas cuando se muestra.

El constructor en el código anterior no toma un título como argumento. Sin embargo, el propietario del marco necesita un título. Entonces, para esa tarea, puede usar el establecerTítulo() el cual está disponible a través de la clase Dialog que JDialog extiende. Los otros métodos importantes en el código son establecerVisible(), establecerTamaño(), y setDefaultCloseOperation().

setVisible toma un valor booleano y es responsable de mostrar el marco. setSize toma la altura y el ancho de la ventana de diálogo. setDefaultCloseOperation toma uno de tres valores para decidir qué sucede cuando un usuario cierra el cuadro de diálogo.

La clase JFrame

JDialog y JOptionPane usan la clase JFrame para crear cuadros de diálogo. Sin embargo, la clase JFrame puede crear cuadros de diálogo por sí misma. La clase JFrame amplía la clase Frame y, al igual que la clase JDialog, le permite crear cuadros de diálogo personalizados.

JFrame tiene cuatro constructores y varios métodos directos e indirectos que deberá usar para crear un cuadro de diálogo.

Creación de un cuadro de diálogo JFrame

importar java.awt.event. Evento de acción;
importar java.awt.event. ActionListener;

importar javax.swing. Botón J;
importar javax.swing. Marco J;
importar javax.swing. Etiqueta J;
importar javax.swing. JPanel;
importar javax.swing. Constantes de ventana;

públicoclaseJFrameApp{
JFrameApp() {
Marco JFrame = nuevo JFrame();
frame.setTitle("Ventana de diálogo");
Panel JPanel = nuevo JPanel();

JLabel mostrarTexto = nuevo JLabel("Esta es una ventana de JFrame.");
panel.add (mostrarTexto);
Botón Jbtn = nuevo BotónJ("Botón Aceptar");

btn.addActionListener(nuevo OyenteAcción() {
públicovacíoacción realizada(Evento de acción e){
marco.setVisible(falso);
}
});

panel.add (btn);

marco.añadir (panel);
frame.setDefaultCloseOperation (Constantes de ventana. SALIR_ON_CLOSE);
marco.setSize(250, 150);
marco.setVisible(verdadero);
}

públicoestáticovacíoprincipal(Cadena[] argumentos){
nuevo JFrameApp();
}
}

El código anterior crea el siguiente cuadro de diálogo:

El código utiliza el constructor JFrame predeterminado y varios métodos familiares, como el establecerTítulo() método (usado en la aplicación JDialog anterior). Un objeto desconocido en el programa anterior es el JPanel, que es un contenedor genérico. Esto le da a JFrame la flexibilidad de agregar múltiples diseños y componentes a un marco.

Él ActionListener() y acción realizada() métodos manejan el evento de un usuario haciendo clic en el DE ACUERDO botón.

¿Qué clase de Java es mejor para crear cuadros de diálogo?

El único propósito de la clase JOptionPane es hacer que el proceso de creación de cuadros de diálogo sea más conveniente para los desarrolladores de Java. Sin embargo, si necesita un cuadro de diálogo más personalizado, la clase JDialog es la siguiente mejor opción.

La clase JFrame crea IU, pero puede usarla para crear muchos elementos diferentes de una GUI, incluidos los cuadros de diálogo.

El cuadro de diálogo creado con la clase JFrame tiene un icono minimizado, mientras que los demás no. Si desea un cuadro de diálogo modal, que el usuario debe realizar antes de completar una tarea, entonces JFrame no es el mejor enfoque.

Cómo escribir su primera aplicación GUI de Java 

Leer siguiente

CuotaPíoCuotaCorreo electrónico

Temas relacionados

  • Programación
  • Programación
  • Java
  • Tutoriales de codificación

Sobre el Autor

kadeisha kean (56 artículos publicados)

Kadeisha Kean es una desarrolladora de software de pila completa y escritora técnica/tecnológica. Tiene la clara habilidad de simplificar algunos de los conceptos tecnológicos más complejos; producir material que pueda ser fácilmente entendido por cualquier novato en tecnología. Le apasiona escribir, desarrollar software interesante y viajar por el mundo (a través de documentales).

Más de Kadeisha Kean

Suscríbete a nuestro boletín

¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse