CUADROS DE DIALOGO EN JAVA
import javax.swing.JOptionPane;
De la clase JOptionPane de la biblioteca swing podemos utilizar 4 métodos para mostrar mensajes en pantalla como lo haríamos con un alert() en javascript, aqui algunos ejemplos con su código.
- showMessageDialog()
- showInputDialog()
- showConfirmDialog()
- showOptionDialog()
1. showMessageDialog()
El método static: showMessageDialog(); se utiliza para mostrar mensajes de dialogo como lo haríamos con un alert en javascript, recibe como mínimo 2 argumentos el primero es el Componente padre (el frame donde se está llamando) puede ponerse "this" o si estamos en el método main podemos poner null, el segundo argumento que hay que pasarle es el mensaje a mostrar "Mensaje" (una cadena de caracteres), como el método es static y no retorna ningun valor (void) se puede mandar llamar de la siguiente forma:
JOptionPane.MessageDialog(null,"Hola soy un mensaje!");
import javax.swing.JOptionPane;
public class prueba
{
public static void main(String[] args)
{
JOptionPane.showMessageDialog(null,"Hola soy un mensaje!");
}
}
{
JOptionPane.showMessageDialog(null,"Hola soy un mensaje!");
}
}
Lo anterior es como mínimo con 2 argumentos pero se le pueden pasar hasta 4 argumentos al método static showMessageDialog() :
JOptionPane.showMessageDialog(Component parentComponent,Mensaje ,Titulo, Tipo de mensaje );
Component parentComponent: El frame de donde se esta llamando el método (puede quedar null).
Mensaje: El mensaje que queremos mostrar en el cuadro de dialogo.
Titulo: Aqui se espera un String para el titulo de la ventanita de diálogo.
Tipo de mensaje: Es el tipo de mensaje. Éste argumento tiene que ser una constante que pueden ser:
Probando todas las constantes:> ERROR_MESSAGE
> INFORMATION_MESSAGE
> WARNING_MESSAGE
> QUESTION_MESSAGE
> PLAIN_MESSAGE
>
ERROR_MESSAGE
import javax.swing.JOptionPane;
public class prueba
{
public static void main(String[] args)
{
JOptionPane.showMessageDialog(null,"Hola soy un mensaje!",
public class prueba
{
public static void main(String[] args)
{
JOptionPane.showMessageDialog(null,"Hola soy un mensaje!",
"Soy un título",JOptionPane.ERROR_MESSAGE);
}
}
}
}
> INFORMATION_MESSAGE
import javax.swing.JOptionPane;
public class prueba
{
public static void main(String[] args)
{
JOptionPane.showMessageDialog(null,"Hola soy un mensaje!",
public class prueba
{
public static void main(String[] args)
{
JOptionPane.showMessageDialog(null,"Hola soy un mensaje!",
"Soy un título",JOptionPane.INFORMATION_MESSAGE);
}
}
}
}
> WARNING_MESSAGE
import javax.swing.JOptionPane;
public class prueba
{
public static void main(String[] args)
{
JOptionPane.showMessageDialog(null,"Hola soy un mensaje!",
"Soy un título",JOptionPane.WARNING_MESSAGE);
}
}
> QUESTION_MESSAGE
import javax.swing.JOptionPane;
public class prueba
{
public static void main(String[] args)
{
JOptionPane.showMessageDialog(null,"Hola soy un mensaje!",
"Soy un título",JOptionPane.QUESTION_MESSAGE);
}
}
> PLAIN_MESSAGE
import javax.swing.JOptionPane;
public class ej
{
public static void main(String[] args)
{
JOptionPane.showMessageDialog(null,"Hola soy un mensaje!",
"Soy un título",JOptionPane.PLAIN_MESSAGE);
}
}
2. showInputDialog()
Éste metodo también es static, nos permite obtener informacion del usuario, puede recibir desde 1 argumento hasta 7, dependiendo que tan personalizado queremos nuestro cuadro de dialogo, aqui probaremos todos los argumentos posibles que puede recibir éste método así como su valor de retorno.
>Con un argumento el método devuelve un String:
public static String showInputDialog(Object message)
String resultado = JOptionPane.showInputDialog("Ingreasar algo");
import javax.swing.JOptionPane;
public class prueba
{
public static void main(String[] args)
{
String resultado = JOptionPane.showInputDialog("Ingreasar algo");
}
}
public class prueba
{
public static void main(String[] args)
{
String resultado = JOptionPane.showInputDialog("Ingreasar algo");
}
}
>Con 2 argumentos el método devuelve un String:
public static String showInputDialog(Object message,
Object initialSelectionValue)
String resultado = JOptionPane.showInputDialog("Ingreasar algo","Valor inicial");
import javax.swing.JOptionPane;
public class prueba
{
public static void main(String[] args)
{
String resultado = JOptionPane.showInputDialog("Ingreasar algo","Valor inicial");
}
}
public class prueba
{
public static void main(String[] args)
{
String resultado = JOptionPane.showInputDialog("Ingreasar algo","Valor inicial");
}
}
>Otra con 2 argumentos, aqui el primer argumento puede quedar como null, el método devuelve un String:
public static String showInputDialog(Component parentComponent, Object message)
String resultado = JOptionPane.showInputDialog(null,"Ingreasar algo");
import javax.swing.JOptionPane;
public class prueba
{
public static void main(String[] args)
{
String resultado = JOptionPane.showInputDialog(null, "Ingreasar algo");
}
}
public class prueba
{
public static void main(String[] args)
{
String resultado = JOptionPane.showInputDialog(null, "Ingreasar algo");
}
}
>Con 3 argumentos, igual el primer argumento puede quedar como null, el retorno de el método static es un String:
public static String showInputDialog(Component parentComponent,
Object message,
Object initialSelectionValue)
String resultado = JOptionPane.showInputDialog(null,"Ingreasar algo","valor inicial");
import javax.swing.JOptionPane;
public class prueba
{
public static void main(String[] args)
{
String resultado = JOptionPane.showInputDialog(null,"Ingreasar algo","valor inicial");
}
}
public class prueba
{
public static void main(String[] args)
{
String resultado = JOptionPane.showInputDialog(null,"Ingreasar algo","valor inicial");
}
}
>Con 7 argumentos retorno Object:
public static Object showInputDialog(Component parentComponent, Object message, String title, int messageType, Icon icon, Object[] selectionValues, Object initialSelectionValue)
> Component parentComponent: El primer argumento es el frame
de donde se este llamando, puede quedar null.
> Object message: El mensaje que se desea mostrar,(las instrucciones
que debe seguir el usuario) como: "Ingresar una cadena"
o "Ingresar algo".
> String title: El titulo que aparecera en la ventana como
"Seleccionar" etc.
> int messageType: El tipo de mensaje que se va amostrar pueden
ser 5 constantes.
ERROR_MESSAGE
INFORMATION_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE
PLAIN_MESSAGE
> Icon icon: la imagen que se desea mostrar.
> Object[] selectionValues: lista de posibles opciones.
> Object initialSelectionValue: Valor por default que tendra
la ventana.
ImageIcon icono = new ImageIcon("flechita.png");
Object cadena = JOptionPane.showInputDialog(null,
"Seleccione su Género","Género",
JOptionPane.WARNING_MESSAGE,
icono,new Object []{"Masculino","Femenino"},
"Masculino");
import javax.swing.*; public class prueba { public static void main(String[] args) { ImageIcon icono = new ImageIcon("flechita.png");
Object cadena = JOptionPane.showInputDialog(null,
"Seleccione su Género","Género",
JOptionPane.WARNING_MESSAGE,
icono,new Object []{"Masculino","Femenino"},
"Masculino");
} }
3. showConfirmDialog()
Este método static, pide al usuario una confirmación, retorna un entero que es la posición de las opcionesque se le muestran en el mensaje (empezando de 0 de izquierda a derecha). puede recibir como mínimo 2 argumentos y hasta 6 argumentos, dependiendo de que tan personalizado este
nuestro cuadro de diálogo.
>Con 2 argumentos:
public static int showConfirmDialog(Component parentComponent, Object message)
parentComponent: El frame de donde se esta llamando, puede quedar null.
message: El mensaje que se va a mostrar en el cuadro de diálogo.
int resultado = JOptionPane.showConfirmDialog(null,"Confirmar: ");
import javax.swing.JOptionPane; public class prueba
{ public static void main(String[] args) { int resultado = JOptionPane.showConfirmDialog(null,"Confirmar: "); } }
Si pulsamos "Sí" el método retorna 0
Si pulsamos "No" el método retorna 1
Si pulsamos "Cancelar" el método retorna 2
Si pulsamos la tachita de cerrar el método retorna -1
> Método showConfirmDialog() con 4 argumentos:
public static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType)
parentComponent: El frame de donde se esta llamando, puede quedar null.
message: El mensaje que se va a mostrar en el cuadro de diálogo.
title: El titulo que tedrá el cuadro de diálogo.
optionType: tipo de opción, pueden ser 4 constantes:
DEFAULT_OPTION
YES_NO_OPTION
YES_NO_CANCEL_OPTION
OK_CANCEL_OPTION
Probando todas las constantes:
DEFAULT_OPTION
import javax.swing.JOptionPane; public class prueba
{ public static void main(String[] args) {
int resultado = JOptionPane.showConfirmDialog(null,"Confirmar: ","Soy un titulo",JOptionPane.DEFAULT_OPTION);} }
YES_NO_OPTION
import javax.swing.JOptionPane; public class prueba
{ public static void main(String[] args) {
int resultado = JOptionPane.showConfirmDialog(null,"Confirmar: ","Soy un titulo",JOptionPane.YES_NO_OPTION);} }
YES_NO_CANCEL_OPTION
import javax.swing.JOptionPane; public class prueba
{ public static void main(String[] args) {
int resultado = JOptionPane.showConfirmDialog(null,"Confirmar: ","Soy un titulo",JOptionPane.YES_NO_CANCEL_OPTION);} }
- OK_CANCEL_OPTION
import javax.swing.JOptionPane; public class prueba
{ public static void main(String[] args) {
int resultado = JOptionPane.showConfirmDialog(null,"Confirmar: ","Soy un titulo",JOptionPane.OK_CANCEL_OPTION);} }
>Metodo showConfirmDialog() con 5 argumentos:
public static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType)
import javax.swing.JOptionPane; public class prueba
{ public static void main(String[] args) {
int resultado = JOptionPane.showConfirmDialog(null,"Confirmar:" , "Soy un titulo" ,JOptionPane.OK_CANCEL_OPTION , JOptionPane.WARNING_MESSAGE)}
}>Metodo showConfirmDialog() con 6 argumentos:
public static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon)
parentComponent: el frame de donde se esta llamando puede quedar null.
message: el mensaje que se mostrara en el cuadro de diálogo.
title: el titulo que aparecerá en el cuadro de dialogo.
optionType: tipo de opcion puede ser 4 constantes:
DEFAULT_OPTION
YES_NO_OPTION
YES_NO_CANCEL_OPTION
OK_CANCEL_OPTION
messageType: tipo de mensaje pueden ser 5 constantes:
ERROR_MESSAGE
INFORMATION_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE
PLAIN_MESSAGE
icon: la imagen que aparecerá en el cuadro de diálogo.
Ejemplo:
import javax.swing.*; public class ej { public static void main(String[] args) { ImageIcon flechita = new ImageIcon("flechita.png"); int resultado = JOptionPane.showConfirmDialog(null,
"Confirmar: ","Soy un titulo",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.WARNING_MESSAGE,
flechita); } }
4. showOptionDialog()
Este metodo static devuelve un int, que es el índice de el array de las opciones que nosotros especifiquemos (empezando desde 0 de izquierda a derecha)public static int showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue)
Component parentComponent: es el frame de donde se esta llamando
puede quedar null.
Object message: el mensaje que vamos a mostrar en el cuadro
de diálogo.
String title: el titulo que tendrá el cuadro de diálogo.
int optionType: el tipo de opcion pueden ser 4 constantes:
DEFAULT_OPTION
YES_NO_OPTION
YES_NO_CANCEL_OPTION
OK_CANCEL_OPTION
int messageType: el tipo de mensaje pueden ser 5 constantes:
ERROR_MESSAGE
INFORMATION_MESSAGE
WARNING_MESSAGE
QUESTION_MESSAGE
PLAIN_MESSAGE
Icon icon: la imagen que se mostrará en el cuadro de diálogo.
Object[] options: el array de las opciones que queramos mostrar
(el método retorna la posicion de el elemento elegido).
Object initialValue: el valor inicial o por default del array options.
Ejemplo:
import javax.swing.*; public class prueba { public static void main(String[] args) { ImageIcon flecha = new ImageIcon("flechita.png"); int resultado = JOptionPane.showOptionDialog(null,
"Seleccionar ","Soy un Titulo",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.PLAIN_MESSAGE,flecha,
new Object[] {"Opcion 1","Opcion 2","Opcion 3","Opcion 4"},
"Opcion 1"); } }
Retorna un entero que seria el índice de el elemento que presionemos,
por ejemplo:
si presionamos "Opcion 1" retorna 0
si presionamos "Opcion 2" retorna 1
si presionamos "Opcion 3" retorna 2
si presionamos "Opcion 4" retorna 3
si presionamos la tachila "x" de salir retorna un -1
No hay comentarios:
Publicar un comentario