Noticias

* Completa este formulario para conocer los temas de tu interes, te tomará unos segundos.

* Contenido actualizado diariamente!!

* Nueva categoría JavaScript!, aprender javascript está en tus manos!

* Nueva categoría VB .Net!, aprender VB .NET fácilmente con franvarvil!

* Sigue a la página para seguir creciendo!!
Mostrando entradas con la etiqueta joptionpane. Mostrar todas las entradas

martes, 29 de noviembre de 2011

Java: JOptionPane: Menú desplegable

7 comentarios :
Introducción

Muchas veces, se necesitan poner datos por defecto y que el usuario simplemente seleccione, por ejemplo: los días de la semana, meses, país, entre otros. En esta entrada aprenderemos a hacer un combo box o menú desplegable con JOptionPane.

Desarrollo

Ante todo se debe importar el JOptionPane, con la siguiente línea:

import javax.swing.JOptionPane;

Ya importado procedemos a crear un vector que va a contener los textos de nuestro menú.

Object [] colores ={"rojo","negro","amarillo","azul","majenta"}; 

La inicialización se trabaja como cualquier otra: 
 - El tipo de dato String u Object, respectivamente.
 - El nombre de nuestro vector, que llamé Colores.
 - La inicialización del texto de nuestro menú, estos van entre comillas, separados por comas y finalmente encerrados entre llaves.

Ahora ya que inicializamos nuestro vector, creamos nuestra ventana con el menú desplegable con estas líneas de código.

Object opcion = JOptionPane.showInputDialog(null,"Selecciona un color", "Elegir",JOptionPane.QUESTION_MESSAGE,null,colores, colores[0]);

Las partes que componen estas dos líneas de código son las siguientes:

 - Creamos una variable de tipo Object debido a que lo que esto retorna es un objeto que va a valer el texto que se haya elegido.
 - Sentencia JOptionPane.showInputDialog, la normal a la hora de pedir datos al usuario.
   - null, este caso no ocupa nada.
   - Mensaje que vamos a mostrar en este caso "Selecciona un color".
   - Titulo de nuestra ventana, yo le puse Elegir.
   - Tipo de mensaje, para saber los tipos de mensaje ver acá:
   - null, para icono predeterminado o el nombre de nuestra imagen para uso personalizado, para colocar un imagen personalizada ver acá:
   - nombre de nuestro vector inicializado.
   - Opción que se quiere que este predeterminada en nuestra ventana, el cero se puede cambiar por cualquier número mientras este en el rango del vector, recordar que el primero es cero, luego viene el uno y así sucesivamente.

Cuando presionamos cancelar o equis este devuelve un null.

Finalmente nuestra ventana se vería así:


Y con el menú desplegado se vería así:


Conclusiones

Esta opción es muy sencilla de usar, cuando se requiere que el usuario seleccione algún valor predeterminado.

Puede ser muy útil para no generar toda una ventana solo por un menú desplegable o cambiar de ventana por la misma razón.

lunes, 28 de noviembre de 2011

Java: JOptionPane: Botones personalizados.

6 comentarios :
Introducción
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:


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.

domingo, 27 de noviembre de 2011

Java: JOptionPane: Colocar iconos personalizados

24 comentarios :
Introducción

Cuando se programa cada quién quiere darle su "toque" personal a su aplicación, en entradas anteriores hemos visto como utilizar ventanas de diálogo de la libería de java JOptionPane, hoy veremos como personalizar el icono de estas con alguna imagen que nosotros queramos utilizar.

Desarrollo

Para colocar iconos, ya sean animados o no, en nuestros ventanas de JOptionPane (algunas no lo aceptan), se importan las librerías Icon e ImageIcon, las líneas para esto se presentan a continuación:

import javax.swing.Icon;
import javax.swing.ImageIcon;

Una vez que los importamos procedemos a inicializar nuestro icono:

Icon icono = new ImageIcon(getClass().getResource("ruta local de la imagen"));

La sentencia anterior se descompone en los siguientes elementos:
 - Nuestro Icon que lo importamos anteriormente
 - el nombre de nuestro objeto
 - new, para la creación de nuevo objeto en la instancia
 - ImageIcon que lo habíamos importado anteriormente
 - la ruta completa de la imagen, esta va entre comillas y con la extensión de la imagen: gift, png entre otras, esto es para que el programa sepa donde ir a buscar la imagen.

Luego para utilizar a nuestra imagen en diversos tipos de ventanas se utilizaría el siguiente código:

showMessageDialog:

JOptionPane.showMessageDialog(null," Aprendiendo a poner imagenes ", "Imagen Java", JOptionPane.PLAIN_MESSAGE, icono);

showOptionDialog:

JOptionPane.showOptionDialog(null, "¿Queres salir a Bailar esta Noche?","Sita", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, icono, botones, botones[0]); 

showInputDialog (JCombox):

Object opcion = JOptionPane.showInputDialog(null,"Selecciona un color", "Elegir",JOptionPane.QUESTION_MESSAGE, icono ,colores, colores[0]); 

showConfirmDialog:

JOptionPane.showConfirmDialog(null, "Realmente desea salir de Hola Swing?", "Confirmar salida", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, icono);

En el caso del JCombox y en el caso del OptionDialog si no se va a poner un icono se coloca un null.

Conclusiones

Colocar iconos personalizados es sumamente sencillo y puede dar un aspecto más profesional a nuestra aplicación.

No es bueno colocar imágenes muy grandes debido a que la ventana en sí es pequeña, ni tampoco es bueno colocar imágenes que distraigan al usuario (como animaciones y demás).

Java: JOptionPane: Ventanas de confirmación (ConfirmDialog)

5 comentarios :
Introducción

Muchas veces necesitamos mensajes de confirmación, estos mensajes son ventanas de diálogo que, por ejemplo, nos piden que aceptemos o cancelemos una acción o evento que se va a realizar.

En esta entrada veremos como gracias a la librería de JOptionPane, existe una manera fácil y rápida de hacer esta ventanas de confirmación.

Desarrollo

Lo primero es importar la librería de JOptionPane.

import javax.swing.JOptionPane;

En el siguiente código, se aprecia la manera de crear una ventana de confirmDialog de JOptionPane:

JOptionPane.showConfirmDialog(null, "Realmente desea salir de Hola Swing?", "Confirmar salida", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); 

Las partes que la sentencia anterior son:
 - null, por lo general se pone.
 - Realmente desea salir de Hola Swing?, este es el mensaje que se desea mostrar.
 - Confirmar salida, es el titulo de la ventana.
 - JOptionPane.YES_NO_OPTION, este es el tipo de botones que van a aparecer, para esta parte de la sentencia existen los siguientes tipos:

    - YES_NO_OPTION

    - DEFAULT_OPTION o CLOSED_OPTION


    - YES_NO_CANCEL_OPTION


    - OK_CANCEL_OPTION, muestra esta ventana:


 - por ultimo viene el tipo de mensaje que va a ser o el tipo de icono que trae java para las ventanas, son los mismos que el showMessageDialog y el showInputDialog y se les explica mejor acá.

Si queremos poner un icono personalizado se coloca al final el nombre de nuestro icono, para conocer como hacerlo da click aquí.

Todas estas ventana de confirmación retornan un valor numérico correspondiente a lo opción que se seleccionó, la primera posición va a ser cero, la segunda uno y así sucesivamente, por ejemplo, si en la ventana de YES_NO_OPTION, seleccionamos que Sí, este lo que nos devuelve es un cero, si seleccionamos que No,  nos estaría devolviendo un uno, si seleccionamos la equis devolverá un menos uno ( -1 ).

Conclusiones

Estas ventanas de confirmación pueden ser de gran utilidad en nuestras aplicaciones, por ejemplo si se desea eliminar un usuario de la base de datos se puede confirmar con una de estas ventanas.

Al igual que messageDialog e inputDialog, cuenta con una serie de iconos predeterminados que pueden ser utilizados para que que la ventana vaya más acorde a la acción que se realiza, por ejemplo un error, una pregunta, una advertencia, entre otros.

sábado, 26 de noviembre de 2011

Java: JOptionPane: MessageDialog e InputDialog

No hay comentarios :
Introducción

Cuando ya queremos dejar la consola de java a un lado y empezar a generar una interfaz de usuario más agradable, lo primero que nos encontramos son con lo cuadros de diálogo de la librería JOptionPane de java.

En esta entrada entenderemos el funcionamiento de dos de estos componentes, el messageDialog y el inputDialog.

Desarrollo

Para utilizar estos componentes de se debe importar la librería correspondiente, lo cual se enseña en el siguiente código:

import javax.swing.JOptionPane;

Ahora sí, aprenderemos a usar lo componentes iniciando con el messageDialog, con el siguiente código se genera un mensaje a mostrar al usuario.

JOptionPane.showMessageDialog(null, "Hola mundo", "Mensaje", JOptionPane.INFORMATION_MESSAGE, icono);

Las partes que lo componen son:

 - null, que por lo general siempre se pone.
 - "Hola mundo", ese es el texto o que queremos mostrar al usuario.
 - "Mensaje", es el encabezado de nuestra ventana por decirlo de otra manera el titulo
 - El tipo de icono que queremos que ponga la ventana en caso que no le pongamos una imagen, si se     desea utilizar una predeterminada, existen las siguientes
     -  INFORMATION_MESSAGE, coloca un símbolo de admiración encerrado en un circulo.
     -  QUESTION_MESSAGE, coloca un símbolo de pregunta  
     -  WARNING_MESSAGE, coloca un símbolo de admiración en un triangulo 
     -   ERROR_MESSAGE, coloca una equis roja
     -  PLAIN_MESSAGE, no coloca ningún símbolo.
 - icono, este es opcional, si no se quiere que lleve ningún icono personalizado simplemente no se coloca. Si quieres poner un icono mira en el siguiente link Iconos personalizados.

La ventana se miraría así:
 

Y con esto ya aprendimos como utilizar el componente messageDialog.

Los inputDialog se utilizan para que el usuario introduzca algún valor, para luego utilizarlo en alguna función de nuestra aplicación, en este caso lo que se ingrese, sea letras, números, caracteres especiales, siempre van a ser tratados como una cadena.
Para utilizarlos se coloca el siguiente código:

String introducido = JOptionPane.showInputDialog(null,"Ingresa tu nombre","Informacion", JOptionPane.QUESTION_MESSAGE);


Y lleva los mismos componentes que los messageDialog, por tanto no se volverán a explicar, lo único diferente es que se le asigna a una variable el valor que retorne el inputDialog.
Esta ventana se vería así:


Conclusiones

Estas ventanas con una manera de irse introduciendo a la parte de interfaz de usuario con la que cuenta java, además que pueden ser muy útiles dentro de aplicaciones grandes.

Por otro lado, brindan una mayor calidad a los trabajos realizados y no consumen demasiados recursos ni son difíciles de programar.