lunes, 28 de noviembre de 2011
Java: JOptionPane: Botones personalizados.
Francisco
20:04
confirm dialog
,
input
,
java
,
joptionpane
,
optionDialog
,
por: Francisco Vargas
,
programación java
,
ventanas java
6 comentarios
:
Introducción
Desarrollo
Luego que lo importamos procedemos a hacer un vector String (también se puede usar un Object para quien lo prefiere) que contendrá nuestros textos de los botones, lo creamos de la siguiente manera:
- El tipo de dato String u Object, en el primero y segundo caso respectivamente..
- El nombre de nuestro vector, que yo llamé botones.
- La inicialización del texto de nuestros botones, estos van entre comillas, separados por comas y finalmente encerrados entre llaves.
- Resaltar que el Object acá funciona como un String.
Luego de declarar nuestros nombres de botones procedemos a crear la ventana de diálogo con la siguiente sentencia:
Muchas veces necesitamos que nuestros cuadros de diálogo tengan texto personalizados y no los predeterminados de Java, por ese motivo en esta entrada se explicará como hacerlo de una manera fácil y rápida.
Desarrollo
Para crear nuestros botones personalizados (en cuanto a texto se refiere), primero tenemos que importar el JOptionPane así:
import javax.swing.JOptionPane;
Luego que lo importamos procedemos a hacer un vector String (también se puede usar un Object para quien lo prefiere) que contendrá nuestros textos de los botones, lo creamos de la siguiente manera:
String [] botones = { " boton uno", " boton dos", "boton N" }; Object [] botones = { " boton uno", " boton dos", "boton N" };Partes que conforman la inicializacion del vector:
- El tipo de dato String u Object, en el primero y segundo caso respectivamente..
- El nombre de nuestro vector, que yo llamé botones.
- La inicialización del texto de nuestros botones, estos van entre comillas, separados por comas y finalmente encerrados entre llaves.
- Resaltar que el Object acá funciona como un String.
Luego de declarar nuestros nombres de botones procedemos a crear la ventana de diálogo con la siguiente sentencia:
int variable = JOptionPane.showOptionDialog (null, " Quieres bailar esta noche?", "Cita", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null/*icono*/, botones, botones[0]);
Ahora se desglosará estas lineas de código:
- Creación de una variable tipo entero que recibirá nuestra opción seleccionada
- Sentencia JOptionPane.showOptionDialog
- null, en este caso no precisa poner nada
- El texto a mostrar ( Quieres bailar esta noches?)
- Titulo de nuestra ventana ( Cita )
- Tipo de botones de confirmación aunque no importa mucho cual pongan, acá se explican mejor los tipos.
- Tipo de mensaje, se explica mejor acá.
- EL icono si vamos a poner uno personalizado sino el null para decir que seleccione el del tipo de mensaje, para colocar uno personalizado click acá.
- El nombre de nuestro vector inicializado.
- La posición en los botones que queremos que nuestra ventana marque como predeterminado ( 0 , 1 , ... , - 1)
Nuestra ventana se vería así una vez terminada:
Conclusiones
Java proporciona maneras muy fáciles para la creación de ventanas con JOptionPane, además de maneras simples para personalizarlas.
JOptionPane es una librería muy útil para mensajes rápidos y sin mucha complejidad.
- La posición en los botones que queremos que nuestra ventana marque como predeterminado ( 0 , 1 , ... , - 1)
Nuestra ventana se vería así una vez terminada:
Como pueden observar la posición donde está el "boton uno", esta remarcada y es diferente a los demás bonotes eso sucede porque es el predeterminado, esto se elije cuando hace la escritura del código para estas ventanas ( ver el desglose del código punto 10 ).
Conclusiones
Java proporciona maneras muy fáciles para la creación de ventanas con JOptionPane, además de maneras simples para personalizarlas.
JOptionPane es una librería muy útil para mensajes rápidos y sin mucha complejidad.
Suscribirse a:
Enviar comentarios
(
Atom
)
Muchas Gracia me fue muy util tu información, solo me quedo una duda bastante importante de saber para mi, como le doy acción a los botones???. dentro del arreglo, o con un if ????? o como seria una opción mas indicada???
ResponderEliminarSaludos, Buen Aporte.
Hola Jairo, que bueno que te fuera util la info, los botones cada uno tiene un índice, si mal no recuerdo empiezan con 0, pero por aquello que me equivoque y para que nunca se confundas has esto
Eliminarint variable = JOptionPane.showOptionDialog (null, " Quieres bailar esta noche?", "Cita", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null/*icono*/, botones, botones[0]);
System.out.println(variable);
Esto de dirá que número corresponde a cada botón, luego crearías un switch o un if/else con cada uno de los valores de los botónes
Como los ordeno verticalmente
Eliminaroye y como los ordeno vertialmente
ResponderEliminarBuenos días,
EliminarNunca he trabajo con botones verticales en el componente como tal.
Tendrías que crear un frame e incrustarlo dentro del Joption para así visualizar los botones de forma vertical.
Saludos
Será posible manipular las opciones con variables?
ResponderEliminarMe refiero a que el usuario introduzca las opciones!
No se si me doy a entender.