Nuevamente después de otra semana muy pesada sin poder darle vuelta al Blog, regreso para finalizar la secuencia de entradas sobre Java Swing (Al menos la secuencia plasmada en este post). En esta ocasión trabajaremos uno de los componentes mas básicos pero no por ello menos importantes, los JOptionPane...
Que Es?
JOptionPane es una Clase que nos provee una serie de ventanas de dialogo predefinidas con el fin de facilitarnos algunos procesos de interacción con el usuario...... esta clase la encontramos en el paquete javax.swing, por eso para poder utilizarla debemos asegurarnos de tener el import correspondiente (import javax.swing.JOptionPane;)
Para que sirve?
Supongamos que queremos mostrar algún tipo de mensaje al usuario (Información, Advertencia, Error, Confirmación).............. pedir un dato........... o mejor aún, ¿que podríamos hacer para que nuestro usuario seleccione una o mas opciones para ejecutar algún proceso de nuestra aplicación?................ una buena opción es crear un formulario JDialog y allí poner lo que necesitemos...... simple verdad?.....
Si!!!! pero seria mas simple aún si utilizamos alguno de los métodos de JOptionPane, pues esta clase ya nos provee una ventana que hace eso por nosotros.....veamos....
Supongamos que queremos mostrar algún tipo de mensaje al usuario (Información, Advertencia, Error, Confirmación).............. pedir un dato........... o mejor aún, ¿que podríamos hacer para que nuestro usuario seleccione una o mas opciones para ejecutar algún proceso de nuestra aplicación?................ una buena opción es crear un formulario JDialog y allí poner lo que necesitemos...... simple verdad?.....
Si!!!! pero seria mas simple aún si utilizamos alguno de los métodos de JOptionPane, pues esta clase ya nos provee una ventana que hace eso por nosotros.....veamos....
Los JOptionPane.
A continuación veremos los tipos y algunos usos básicos que podemos darle a las ventanas de dialogo creadas a partir de esta clase....
JOptionPane.showMessageDialog.
Tal vez el mas básico y conocido de todos, el método showMessageDialog() nos genera una ventana de dialogo, con la cual podemos presentar al usuario un mensaje simple....
JOptionPane.showMessageDialog(null,"Es un mensaje Simple de Información");
Lo básico es utilizarlo con 2 parámetros, el primero representa la ventana Padre a la que pertenece (para entender esto los invito a leer JFrame y JDialog) o simplemente dejarlo en "Null" para que sea común en toda la aplicación, el segundo parámetro es el mensaje que queremos presentar....
El método también tiene algunas variantes, podemos adicional a lo anterior agregarle un titulo a nuestra ventana como también definir cual es el icono o tipo de mensaje que queremos presentar, si es de información, error, advertencia o confirmación, esto lo hacemos gracias a las constantes ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, o PLAIN_MESSAGE...
por ejemplo para la ventana de advertencia tan solo debemos escribir el siguiente código (la diferencia con el anterior es que le adicionamos 2 parámetros mas...)
Cabe mencionar que estas variantes aplican para cualquiera de los métodos que vamos a trabajar.....
por ejemplo para la ventana de advertencia tan solo debemos escribir el siguiente código (la diferencia con el anterior es que le adicionamos 2 parámetros mas...)
JOptionPane.showMessageDialog(null, "Este es un mensaje de Advertencia", "WARNING_MESSAGE", JOptionPane.WARNING_MESSAGE);
Cabe mencionar que estas variantes aplican para cualquiera de los métodos que vamos a trabajar.....
JOptionPane.showInputDialog.
Este método también es muy conocido y útil cuando lo que queremos es solicitar el ingreso de datos, por defecto presenta una ventana simple similar a las anteriores pero con un campo de texto para ingresar información....... por defecto podemos obtener el dato ingresado mediante un String, sin embargo podemos recibir datos numéricos y posteriormente hacer la conversión.
int numero=Integer.parseInt(JOptionPane.showInputDialog("Ingrese un" + " numero para multiplicarlo por 2"));
Adicionalmente podemos definir que tipo de opciones mostrar.
El codigo es:
Como vemos el método también nos brinda la posibilidad de vincular un combo de selección donde definimos el arreglo de opciones y el valor seleccionado por defecto.
El codigo es:
Object color = JOptionPane.showInputDialog(null,"Seleccione Un Color", "COLORES", JOptionPane.QUESTION_MESSAGE, null, new Object[] { "Seleccione","Amarillo", "Azul", "Rojo" },"Seleccione");
Como vemos el método también nos brinda la posibilidad de vincular un combo de selección donde definimos el arreglo de opciones y el valor seleccionado por defecto.
Este método nos brinda una ventana de confirmación donde por defecto se cargan 3 botones "Si", "No", "Cancelar", es muy útil cuando realizamos operaciones delicadas donde siempre es importante que el usuario confirme, también es muy común encontrarla cuando queremos cerrar sesión o salir de nuestra aplicación por medio de un evento determinado...
El método retorna un valor entero que corresponde a la opción definida por el usuario....igual que en los ejemplos anteriores, existen variantes que podemos vincular para personalizar nuestro JOptionPane, además de los tipos de iconos o mensajes, también podemos usar las constantes YES_OPTION, NO_OPTION, OK_OPTION, CANCEL_OPTION, CLOSED_OPTION que definen cuales opciones mostrar.
JOptionPane.showOptionDialog.
Este es el ultimo de los métodos que trabajaremos pero el que nos brinda mas opciones de configuración, los métodos anteriores son sobreCargados (Mas adelante se explicará este termino en otra entrada), esto quiere decir que tenemos varios métodos con el mismo nombre pero que reciben distintos parámetros...............el showOptionDialog es un único método que posee todos los parámetros requeridos para su configuración.
Con este podemos crear una ventana de dialogo con diferentes opciones definidas en un array de objetos, podemos pasarle diferentes componentes gráficos y el los mostrará sin inconveniente....
Y Listo, básicamente estos son los principales métodos y componentes JOptionPane, con ellos podremos brindar facilidades y ahorrar tiempo en nuestra aplicación, a pesar de estar catalogado como un componente complejo, vemos que su uso es muy pero muy simple.... mas adelante traeré nuevas entradas donde los aplicaremos ;)
También te podría Interesar.
¿Hay algo que quieras anexar o comentar sobre esta entrada? no dudes en hacerlo.....y si te gustó...... te invito a compartir y Suscribirte ingresando al botón "Participar en este sitio" para darte cuenta de mas entradas como esta ;)
int resp=JOptionPane.showConfirmDialog(null,"Usas mucho el JOptionPane?"); if (JOptionPane.OK_OPTION == resp){ System.out.println("Selecciona opción Afirmativa"); } else{ System.out.println("No selecciona una opción afirmativa"); }
El método retorna un valor entero que corresponde a la opción definida por el usuario....igual que en los ejemplos anteriores, existen variantes que podemos vincular para personalizar nuestro JOptionPane, además de los tipos de iconos o mensajes, también podemos usar las constantes YES_OPTION, NO_OPTION, OK_OPTION, CANCEL_OPTION, CLOSED_OPTION que definen cuales opciones mostrar.
JOptionPane.showOptionDialog.
Este es el ultimo de los métodos que trabajaremos pero el que nos brinda mas opciones de configuración, los métodos anteriores son sobreCargados (Mas adelante se explicará este termino en otra entrada), esto quiere decir que tenemos varios métodos con el mismo nombre pero que reciben distintos parámetros...............el showOptionDialog es un único método que posee todos los parámetros requeridos para su configuración.
JCheckBox chec=new JCheckBox("Prueba"); int seleccion = JOptionPane.showOptionDialog( null,"Seleccione una opcion", "Selector de opciones",JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,null,// null para icono por defecto. new Object[] { "opcion 1", "opcion 2", "opcion 3",chec },"opcion 1"); if (seleccion != -1){ System.out.println("seleccionada opcion " + (seleccion + 1)); } if (chec.isSelected()){ System.out.println("Selecciona el Chec"); }
Con este podemos crear una ventana de dialogo con diferentes opciones definidas en un array de objetos, podemos pasarle diferentes componentes gráficos y el los mostrará sin inconveniente....
Y Listo, básicamente estos son los principales métodos y componentes JOptionPane, con ellos podremos brindar facilidades y ahorrar tiempo en nuestra aplicación, a pesar de estar catalogado como un componente complejo, vemos que su uso es muy pero muy simple.... mas adelante traeré nuevas entradas donde los aplicaremos ;)
También te podría Interesar.
- Ejemplo JList
- Ejemplo JFileChooser
- Ejemplo JTree.
- Ejemplo Patrón de Diseño MVC
- Ejemplo JColorChooser
- ¿String Vrs StringBuffer Vrs StringBuilder?
- Ejemplo Jtable
- Control de Versiones con Tortoise.
- Clases en Java
- Clases Abstractas
¿Hay algo que quieras anexar o comentar sobre esta entrada? no dudes en hacerlo.....y si te gustó...... te invito a compartir y Suscribirte ingresando al botón "Participar en este sitio" para darte cuenta de mas entradas como esta ;)
Hola, estaba buscando exactamente este tipo de explicación con respecto a las ventanas de dialogo de Java. GRACIAS .Buen trabajo
ResponderEliminarOscar, me alegra mucho que te sirviera!!!
Eliminarexcelente post, muchas gracias!!
ResponderEliminarQue pena la hora, pero muchas gracias :)
EliminarDe primera tu material hermano !!! :D
ResponderEliminarGenial tu post, practico y muy directo.
ResponderEliminarGracias!
Que pena la hora, pero muchas gracias :)
EliminarMuchas gracias Cristian.
ResponderEliminar¡Muchas gracias! Me fue y seguirá siendo de mucha ayuda tu información...!
ResponderEliminarEstoy empezando en esto de la Programación y la verdad estaba perdido con respecto a esos datos..
Que pena la hora, pero muchas gracias :)
EliminarHola tengo una pregunta. Existen mensajes que no tengan bonotes de aceptar y que se puedan mostrar durante cierto periodo de tiempo. Por ejemplo 30 segundos y se cierre automaticamente de modo que el usuario solo lo lea?
ResponderEliminarQue pena la hora, asumo que ya lo resolviste pero podrias crear tu propia ventana y luego usando hilos le pones el tiempo que quieres que se muestre u oculte.... consulta la secuencia que tengo sobre ese tema, un saludo
EliminarSabes como usuar el char en JOptionPane Necesito ayuda te lo agradeceria
ResponderEliminarGracias por el aporte, me ayudó mucho =)
ResponderEliminarY si quisiera mostrar un joptionpanel con dos radiobuttons y capturar esa seleccion ?
ResponderEliminarExcelente tus aportes Hermano, gracias me has ayudado mucho desde ahora, estare al tanto de tus entradas en el Blog a cada momento!
ResponderEliminarQue pena la hora, pero muchas gracias :)
Eliminarsisirbe
ResponderEliminarNU MA SISIERTO XDdxDxDXdXdxdxDxDXdXdXDxD TENKIU MAI FREN :v
ResponderEliminarNU MA SISIERTO XDdxDxDXdXdxdxDxDXdXdXDxD TENKIU MAI FREN :v
ResponderEliminarsisirbe
ResponderEliminarestudio el nivel bachillerato y sinceramente su informacion me ha servido de mucho
ResponderEliminarMuchas Gracias!!!!! :)
Muchas gracias por el aporte, es justo lo que estaba buscando.
ResponderEliminarSigue asi.
Estoy buscando información para iniciarme en la programación con Java y he enocntrado tu blog que es excelete.
ResponderEliminarTe felicito porque tus aportaciones están muy claras y muy didácticas.
Muchas gracias sigue ayuándonos
hola, como puedo cambiar los calores de in int?
ResponderEliminarFGSSGTSDFSGSDGFAFHAHFDFH
ResponderEliminarMuchas gracias por tu ayuda
ResponderEliminarExcelente! Muchas gracias, explicas muy bien y al grano.Saludos
ResponderEliminarHola tengo un problema con la enterada de datos,alguien me podría ayudar?
ResponderEliminarHola tengo un problema con la entrada de datos alguien me puede ayudar?
ResponderEliminarHola disculpa que opciones tengo para imprimir un arreglo? con JOptionPane
ResponderEliminarPodrias concatenar en un String lo que quieras imprimir en el JOptionPane
EliminarGracias
Eliminareres gay
EliminarPuedo tener varias listas y un botón en un mismo JOptionPane?
ResponderEliminarcomo le pongo color de fondo a los mensajes emergentes????
ResponderEliminarHola, disculpa como puedo hacer para que después de haber elegido una opción, ejecute un cierto codigo, ejemplo: Si escogio el amarillo que ejecute un mensaje que diga el "amarillo es un color primario".
ResponderEliminarcon if se puede hacer
EliminarMuy bueno, gracias!
ResponderEliminargfjdfjjkdbg
ResponderEliminarbfx ju,fug
EliminarDHULASDDHYZDFHYUKZDFbvxcnj :)
Eliminarlñakfkiahllñaknjlnaijlk.
Eliminar>:(
huaouchqaieryqppqa{qwñiopaw{´sdfyioasc 52uife
Eliminar:O ;)
-jeuiwa
pvto el que lo lea
Eliminar___
Eliminar_/`.-'`.
_ _/` . _.'
..:::::.(_) /` _.'_./
.oooooooooo\ \o/.-'__.'o.
.ooooooooo`._\_|_.'`oooooob.
.ooooooooooooooooooooo&&oooooob.
.oooooooooooooooooooo&@@@@@@oooob.
.ooooooooooooooooooooooo&&@@@@@ooob.
doooooooooooooooooooooooooo&@@@@ooob
doooooooooooooooooooooooooo&@@@oooob
dooooooooooooooooooooooooo&@@@ooooob
dooooooooooooooooooooooooo&@@oooooob
`dooooooooooooooooooooooooo&@ooooob'
`doooooooooooooooooooooooooooooob'
`doooooooooooooooooooooooooooob'
`doooooooooooooooooooooooooob'
`doooooooooooooooooooooooob'
`doooooooooooooooooooooob'
jgs `dooooooooobodoooooooob'
`doooooooob dooooooob'
`"""""""' `""""""'
tu gfa
Eliminarfrancisco y Diego son jotos
Eliminarconfirmo
EliminarPor que jair es tan pvto :v
ResponderEliminartu gfa
EliminarDiego wey
Eliminartu puta madre antonia
EliminarMuchas Gracias :D, yo también estoy haciendo un tecnologo en ADSI.
ResponderEliminarHola amigo buenas tardes, sabes de alguna formar para mostrar un elemento de Jtable, en una ventana emergente o en este en un showmessage?
ResponderEliminarJair es pvto y marik jaja salu2
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarHola buenas tardes, tengo una consulta. cuando se hace entrada y salida de datos por consola se puede, en lugar de concatenar (Por ejemplo: System.out.printf( "La suma es " + suma );) se puede escribir (System.out.printf( "La suma es %d\n", suma );) - hay alguna forma de hacer lo mismo con JOptionPane?
ResponderEliminarMuy buena tu merca amigo
ResponderEliminar.| ”-'\,,
ResponderEliminar..\ '\ ~,, “~-.,_
...\ \ / “, "~,_
....\ \| _._ \ ”-.
......\ \ (O) \ '\._
.......\ '\' "*" | |0)
.........\ '\ / /""
...........\ \ ,-“ /
............\ \ _=" ',_. ,-“
............\, \ "”'~---~”" = "”~~
goku le gana
EliminarThank You for putting up a blog on this really appreciate the efforts you have taken into creating this article on Java Swing, appreciate how you have put down the necessary pointers and clearly targeted major key factors, with regards to this topic you must check data science course in bangalore they have a lot to offer with regards to data science in terms of training and live projects. and will guide you in the right direction for both freshers and Professionals who want to make a career transition
ResponderEliminarExcelente. muy buena información¡¡¡¡¡
ResponderEliminardiubelfracdzu Samantha Peoples https://marketplace.visualstudio.com/items?itemName=terpmogthergu.Descargar-Duel-On-Board-gratuita-2021
ResponderEliminarpcanacakor
inbenas-ta Diana Claborn https://www.nelle-dk.co.uk/profile/elizebetaelizebeta/profile
ResponderEliminaracveluawest
vacfesWdextha-1994 Randy Cohen link
ResponderEliminarlink
click here
https://colab.research.google.com/drive/1hRM2o3kflgzAjk9bHvYmZPnBKT-HG3C0
lengchiwacso
YulinZob_na_1991 Thomas Sanchez Click
ResponderEliminarCorelDRAW
Kerish Doctor
headmerkwibis
Oicimcomphe_1997 Barbara Jones Link
ResponderEliminarDownload Free
deretotask
https://ufavvip789.vip/
ResponderEliminarhttps://betworld789.net/
https://fluck2222.wixsite.com/chudjennew02
viva amlo
ResponderEliminarviva tu mama jajaja en mi polla
Eliminarviva peña nieto
ResponderEliminaraki puro cecytem
ResponderEliminarpor eso los de cecyte son unos nacos de miarda ,aqui puro bacho jajajajajajajaja
Eliminarcbta es puto
ResponderEliminarconcuerdo
Eliminarapoco si tilin puto gay
ResponderEliminar