agosto 14, 2022

Cómo crear cuadros de diálogo en Java

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 han ingresado en un área de texto.

Un cuadro de diálogo llama 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 reenvía un mensaje al usuario.
  • Mostrar diálogo de confirmación ()haciendo una pregunta que requiere confirmación.
  • Mostrar diálogo de entrada ()que solicita al usuario que ingrese.
  • mostrarDiálogoOpciones ()que es una combinación de los otros tres métodos.

Creación de un cuadro de diálogo JOptionPane

import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class JOptionPaneApp {
JOptionPaneApp() {
JFrame frame = new JFrame();
JOptionPane.showMessageDialog(frame, "This is a JOptionPane message window.");
}

public static void main(String[] args) {
new JOptionPaneApp();
}
}

APROVECHA EL VIDEO DEL DÍA

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 cambiar su comportamiento. Por ejemplo, el cuadro de diálogo del mensaje puede adoptar uno de varios tipos. Lo anterior es un ejemplo de un INFORMACIÓN_MENSAJE, que es el predeterminado. Los otros tipos de mensajes son:

  • MENSAJE DE ERROR
  • AVISO_MENSAJE
  • QUESTION_MESSAGE
  • PLAIN_MESSAGE

Crear un mensaje de error

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

JOptionPane.showMessageDialog(frame, "This is a JOptionPane error message window.",
"Error", JOptionPane.ERROR_MESSAGE);

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. Esta clase Java pertenece a javax.swing paquete y extiende la clase Dialog. Tiene acceso a una amplia variedad de métodos directos e indirectos. Esta clase de Java tiene un total de 16 constructores de Java.

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

Los principales constructores de JDialog incluyen:

  • J Diálogo () crea un cuadro de diálogo sin marco, título o modo.
  • JDialog (propietario del cuadro de diálogo, título de cadena, modal booleano) crea un diálogo con un propietario de diálogo, un título de cadena y un modo.
  • JDialog (propietario del marco, título de 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

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;

public class JDialogApp {
JDialogApp() {
JFrame frame = new JFrame();
JDialog dialog = new JDialog(frame, true);
dialog.setLayout(new FlowLayout());

JLabel displayText = new JLabel("This is a JDialog window.");
JButton btn = new JButton("OK");

btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dialog.setVisible(false);
}
});

dialog.add(displayText);
dialog.add(btn);

dialog.setSize(200,150);
dialog.setTitle("Dialog Window");
dialog.setVisible(true);
dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
}

public static void main(String args[]) {
new 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 a JFrame y el valor «verdadero» como argumentos. JFrame es el propietario de JDialog, lo que significa que es responsable de mostrar el 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 dueño del marco necesita un título. Entonces, para esa actividad, puedes usar el establecer título () disponible a través de la clase Dialog que JDialog extiende. Los otros métodos importantes en el código son conjuntoVisible (), establecerTamaño ()Y setDefaultCloseOperation ().

setVisible toma un valor booleano y es responsable de mostrar el marco. setSize toma la altura y el ancho del cuadro de diálogo. setDefaultCloseOperation acepta uno de los 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 diálogo.

Creación de un cuadro de diálogo JFrame

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.WindowConstants;

public class JFrameApp {
JFrameApp() {
JFrame frame = new JFrame();
frame.setTitle("Dialog Window");
JPanel panel = new JPanel();

JLabel displayText = new JLabel("This is a JFrame window.");
panel.add(displayText);
JButton btn = new JButton("OK Button");

btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.setVisible(false);
}
});

panel.add(btn);

frame.add(panel);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(250, 150);
frame.setVisible(true);
}

public static void main(String[] args) {
new 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 establecer tí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 () los métodos manejan el evento de un usuario haciendo clic 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 diálogos 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 la interfaz de usuario, pero puede usarla para crear muchos elementos diferentes de una interfaz gráfica de usuario, 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 diálogo modal, en el que el usuario debe realizar una acción antes de completar una tarea, JFrame no es el mejor enfoque.

tipo-java-gui-aplicación

Cómo escribir su primera aplicación Java GUI

Leer siguiente


Deja una respuesta

Tu dirección de correo electrónico no será publicada.