Hola mi querido visitante, aunque puedes usar un Jpanel en java, en este articulo te mostraré lo que es un cuadro de dialogo, las ventajas de usar este en una aplicación de Java, y como funcionan los distintos tipos de cuadros de cuadros de dialogo, aunque estos los podemos resumir en: Como usar JoptionPane en Java, ya que JoptionPane es la clase que provee los métodos necesarios para mostrar esos útiles mensajitos al usuario, sin la necesidad de tomar cursos online gratis 😉
Me alegra que lo preguntes mi estimado visitante. Según la Wikipedia:
…»ventana que permite comunicación simple entre el usuario y el sistema informático.»
Los cuadros de dialogo (JOptionPane) son «herramientas» muy útiles al momento de ingresar datos y mostrar información; digo útil ya que con estas no necesitamos crear objetos de tipo BufferedReader y «tirar» más código para poder usar correctamente los datos que se ingresan como lo expliqué brevemente cuando explique sobre como ingresar datos en Java por consola.
Para poder poder usar estos cuadros de dialogo hay que importar la librería necesaria para que esta se ejecute, la cual es:
import javax.swing.JOptionPane;
También podemos hacer lo siguiente:
import javax.swing.*;
Con lo anterior cargaremos todas las librerías que contenga swing pero esto es innecesario ya que cargaremos librerías que no usaremos.
Entre los tipos de cuadros dialogo encontraremos: showConfirmDialog, showInputDialog, showMessageDialog y showOptionDialog. Los mas usados son los tres primeros. Ahora si, aprendamos a usar JoptionPane En Java.
Este cuadro de dialogo es ideal para mostrar información de cualquier tipo, este reemplaza el System.out.print(); La sintaxis es:
JOptionPane.showMessageDialog(null, "Hola mundo!!!");
– Como observamos en la anterior linea, lo que va dentro de las «…» es el texto que deseemos mostrar, para estos mensajes también se puede usar la concatenación para mostrar el texto y variables a la misma vez.
– Lo que se ve al ejecutar la aplicación es lo siguiente:
Este cuadro de dialogo es ideal para ingresar datos, hay que tener en cuenta que todo lo que se reciba se tomara como un String, pero esto no es problema para trabajar con otros tipos de datos, en tal caso es necesario convertir la cadena que se recibe en el tipo de dato que necesitemos (int, Float, double, etc). La sintaxis es las siguiente:
String ax = JOptionPane.showInputDialog("Ingrese un numero: ");
JOptionPane.showMessageDialog(null, "El numero ingresado es: "+ax);
– En la linea 1 cree una variable de tipo String la cual llamé «ax», en esta variable almaceno el dato que se ingresa con el showInputDialog, al igual que el showMessageDialog lo que va dentro del «…» es el mensaje que mostramos al usuario.
– En la linea 2 muestro el dato que recibí atravez de la variable ax.
– Al ejecutarse la aplicación veremos lo siguiente:
Este cuadro de dialogo es de tipo entero, por lo tanto hay que crear una variable de tipo int para manejar las opciones que este cuadro de dialogo ofrece, las anteriores son si, no, y cancelar; la sintaxis es la siguiente:
int ax = JOptionPane.showConfirmDialog(null, "Estas en java?");
if(ax == JOptionPane.YES_OPTION)
JOptionPane.showMessageDialog(null, "Has seleccionado SI.");
else if(ax == JOptionPane.NO_OPTION)
JOptionPane.showMessageDialog(null, "Has seleccionado NO.");
– En la linea 1 se puede observar que cree una variable entera, el null que se antepone al mensaje es necesario, ya que este se toma cuando el usuario pulsa la tecla Esc o presiona Cancelar, el mensaje a mostrar se usa como en los anteriores cuadros de dialogo.
– En las lineas 2 y 4 se usan condicionales para tomar las acciones respectivas de acuerdo a la opción que haya dado el usuario.
– En las lineas 3 y 5 se muestran mensaje correspondientes a la respectiva opción que haya dado el usuario.
Si seleccionamos SÍ veremos el siguiente cuadro de dialogo:
Si por el contrario seleccionamos NO veremos el siguiente cuadro de dialogo:
Los anteriores son los cuadros de dialogo mas usados, ya que con estos podemos realizar cosas básicas pero muchas veces necesarias para el buen desarrollo de una aplicación. Cabe aclarar que lo anterior no es lo único que se puede hacer, pero lo mas avanzado lo explicare mas adelante 🙂
Para finalizar mostrare el codigo necesario para trabajar con números int, Float, Double, Long:
String ax = JOptionPane.showInputDialog(null,"");
int a = Integer.parseInt(ax);//se convierte el dato a entero
Float b = Float.parseFloat(ax);//se convierte el dato a flotante
Double c = Double.parseDouble(ax);// se convierte el dato a double
Long d = Long.parseLong(ax);//se convierte el dato a long
– Hay que tener en cuenta que lo anterior se hace con JOptionPane.showInputDialog y que en las «…» va el mensaje que deseamos mostrar al usuario para guiarlo en la operación.
Las anteriores ventanas de dialogo en Java nos proveen una serie de opciones predefinidas para que el usuario pueda escoger. Pero también podemos personalizar los cuadros de diálogos con nuestras propias opciones, para esto usamos showOptionDialog.
Para nuestras opciones personalizadas, tendremos que tener un arreglo de String, veamos el siguiente ejemplo:
String[] opciones = {"Contento", "Triste", "Melancolico" };
int opcion = JOptionPane.showOptionDialog(
null //componente
, "Como te siente hoy?" // Mensaje
, "Opciones Personalizada" // Titulo en la barra del cuadro
, JOptionPane.DEFAULT_OPTION // Tipo de opciones
, JOptionPane.INFORMATION_MESSAGE // Tipo de mensaje (icono)
, null // Icono (ninguno)
, opciones // Opciones personalizadas
, null // Opcion por defecto
);
JOptionPane.showMessageDialog(null, "Ha escogido "+opciones[opcion]);
Espero que el anterior post haya sido de gran utilidad, cualquier duda, critica(de preferencia constructiva) favor plasmarlo como comentario.
¿Has notado aplicaciones desconocidas o un drenaje inesperado de la batería? Estos podrían ser indicios…
Saber cómo Restablecer un iPhone a su Estado de Fábrica es clave para solucionar problemas…
Motorola ha confirmado el lanzamiento de Moto G84 5G y Moto G54 5G en India,…
Recuerde WizardCoder, ¿el codificador de IA que cubrimos recientemente aquí en Windows Report? Nos jactamos…
Los investigadores han descubierto numerosos fallos de seguridad en el complemento WordPress Jupiter X Core…
Para solucionar problemas del sistema de PC con Windows, necesitará una herramienta dedicada Fortect es…
Ver comentarios
Buenas noches, muy buena informacion, estaba necesitando el JOption para un traductor que necesito hacer, la verdad no tengo mucho conocimiento sobre programar, hasta ahora estoy empezando, quisiera saber como hago para hacer un traductor sencillo donde me pueda traducir una palabra de español a ingles y viceversa usando 2 tipos de clases, vectores y el JOption :S. Estoy trabajando en ECLIPSE.
Cualquier aporte seria de gran ayuda, gracias.
Hola como puedo hacer para que la información me lo pida en la misma ventana es decir que no se tenga un botón de aceptar sino que solo uno de resultado y que pueda visualizar la información ingresada y la respuesta final. gracias
Hola Eswin, para tal objetivo usa un sencillo formulario. El resultado lo puedes mostrar en un JLabel, recuerda que el método setText() sirve para mostrar el texto.
Muy buen tuto !!
me sirvio mucho ahorita que comienzo a trabajar con interfaz grafica!
Muchas Gracias! :)
Hola...muy buen tutorial ahora lo estoy usando pero me surge una duda:
Si yo quiero que mi mensaje salga en varias lineas como una especie de menú...como hago para que el codigo me reconozca que no siga una linea entera si no que genere una nueva linea...me hago entender:
Quiero que en el joption salga así:
Digite 1 para area triangulo
2 Para circulo
3 para cuadrado
Pero me sale es asi
Digite 1 para area triangulo, 2 para circulo, 3 para cuadrado
Muchas gracias de antemano
usa un \n
Hola amigo Nicolas, solo tienes que agregar un salto de linea (n), para un mayor entendimiento de esto había puesto una guía de como crear un menú con cuadros de dialogo, espero te sirva ;)
Buen aporte amigo :)
hola me puedes ayudar xfa, necesito un programa que permita ingresar una cadena de caracteres y si se ingresan muneros positivos o negativos me salga un mensaje indicando que ingrese solo caracteres
Hola Marko, en el ejercicio de como hacer una Calcular de Java tengo la validacion que necesitas, buscala en la segunda clase de la linea 33 a la 42, la implementas en tu codigo, recuerda que tendras que recibir el valor por un inputDialog, luego evaluas en un if el valor recibido con el metodo que te sugiero, el metodo devuelve true (verdadero) en caso de que se ingrese un numero, ya sea positivo o negativo; en caso contrario (String o Char) devuelve false (falso). Espero te sirva ;)
Hola, alguien me puede ayudar con lo siguiente: ocupo que se eliminen las opciones que voy seleccionando con un .showOpcionDialog(); gracias
BUENAS, quisiera saber como hago para ingresar un numero , trabajar dicho numero y luego mostrar el nuevo numero trabajado, específicamente quiero hacer un programita sencillo que me calcule el factorial de un número ingresado , pero utilizando el JOptionPane
Excelente tutorial, me ayudo bastante..
muchas gracias.
Saludos desde Santiago de Chile
Hola una pregunta como hago para conectar mi JOptionPane con una base datos por ejemplo quiero que me muestre Bienvenido (nombre ingresado en la base datos) agardeceria tu ayuda :)
Hola, mira el siguiente código:
El método comprobar lo complementas con las lineas necesarias para comprobar tu conexión :P