Crear ventana emergente en Java
-
Crear una ventana emergente en Java usando
JOptionPane
-
Crear ventana emergente en Java usando
JDialog
Java nos permite crear varios tipos de componentes GUI usando bibliotecas como AWT, Swing y JavaFX. En este tutorial, veremos el cuadro de diálogo y aprenderemos a crearlo. Usaremos dos clases, JOptionPane
y JDialog
, en los siguientes ejemplos.
Crear una ventana emergente en Java usando JOptionPane
La forma más sencilla de crear una ventana emergente de Java o un diálogo es usar la clase JOptionPane
como parte del paquete javax.swing
, que viene con muchos métodos útiles. Algunas de las técnicas comunes se enumeran a continuación:
Método | Descripción |
---|---|
showMessageDialog() | Muestra un mensaje dentro de un marco especificado |
showInputDialog() | Obtenga información del usuario en la ventana emergente |
showConfirmDialog() | Muestra el mensaje y le pide al usuario un commit como sí, no o cancelar. |
Los siguientes son ejemplos de los métodos:
Ejemplo 1: Mostrar un mensaje dentro de un JFrame
creando un objeto Jframe
, llamar al método JOptionPane.showMessageDialog()
y pasar el primer objeto jFrame
como su primer argumento. El segundo argumento es el mensaje que queremos mostrar en el diálogo.
import javax.swing.*;
public class PopUpJava {
public static void main(String[] args) {
JFrame jFrame = new JFrame();
JOptionPane.showMessageDialog(jFrame, "Hello there! How are you today?");
}
}
Producción:
Ejemplo 2: Este ejemplo usa la función JOptionPane.showInputDialog()
para mostrar un mensaje con un campo de entrada para obtener la entrada. Aquí, para almacenar la entrada, usamos una variable String
y luego se la mostramos al usuario usando showMessageDialog()
.
import javax.swing.*;
public class PopUpJava {
public static void main(String[] args) {
JFrame jFrame = new JFrame();
String getMessage = JOptionPane.showInputDialog(jFrame, "Enter your message");
JOptionPane.showMessageDialog(jFrame, "Your message: " + getMessage);
}
}
Producción:
Ejemplo 3: Usamos la función JOptionPane.showConfirmDialog()
para mostrar un diálogo con tres botones: Sí, No y Cancelar. Al igual que los otros métodos, pasamos un objeto jFrame
y un mensaje para mostrar. El método showConfirmDialog()
devuelve un int
que especifica el botón en el que se hizo clic: 0 significa Sí, 1 significa No, y cualquier otro entero especifica que se hizo clic en el botón Cancelar.
import javax.swing.*;
public class PopUpJava {
public static void main(String[] args) {
JFrame jFrame = new JFrame();
int result = JOptionPane.showConfirmDialog(jFrame, "Press any button to close the dialog.");
if (result == 0)
System.out.println("You pressed Yes");
else if (result == 1)
System.out.println("You pressed NO");
else
System.out.println("You pressed Cancel");
}
}
Producción:
Crear ventana emergente en Java usando JDialog
En el segundo método, usamos la clase Jdialog
. Para crear un marco, necesitamos un objeto jFrame
que se pasa al constructor de Jdialog
como argumento cuando creamos un objeto de JDialog
y jd
. Ahora necesitamos establecer el diseño del diálogo que especifica cómo colocar los componentes dentro del diálogo. Configuramos la función FlowLayout()
que organiza los componentes en una línea usando jd.setLayout()
.
Para establecer la posición y el tamaño de la ventana emergente, usamos la función setBounds()
, donde los dos primeros argumentos son posiciones x e y, y los dos últimos argumentos son ancho y alto.
Creamos una variable jLabel
con el mensaje de texto pasado dentro del constructor para mostrar un texto. Para permitir que el usuario cierre el diálogo, creamos un objeto JButton
con el texto Close
. Ahora, tenemos que configurar la acción a realizar cuando se hace clic en el botón de cierre. Para hacer eso, llamamos a la función addActionListener()
que anula el método actionPerformed()
en el que especificamos la acción a realizar.
Por último, agregamos todos los componentes u objetos que creamos usando jd.add()
.
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class PopUpJava {
public static void main(String[] args) {
JFrame jFrame = new JFrame();
JDialog jd = new JDialog(jFrame);
jd.setLayout(new FlowLayout());
jd.setBounds(500, 300, 400, 300);
JLabel jLabel = new JLabel("Press close button to close the dialog.");
JButton jButton = new JButton("Close");
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jd.setVisible(false);
}
});
jd.add(jLabel);
jd.add(jButton);
jd.setVisible(true);
}
}
Producción:
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArtículo relacionado - Java GUI
- Colores de fondo en Java
- Ventana emergente de alerta en Java
- Crear barra de progreso de Java usando la clase JProgressBar
- Grupo de botones en Java
- El método pack() en Java
- Obtenga valor de JTextField