Programación General > Java
Capturar Mediante Joptionpane
(1/1)
DEKAN:
Hola.
Disculpen la molestia tengo una pregunta, usando JOptionPane como se le pueden agregar opciones para que de esta forma se pueda elegir una de por ejemplo 3 diferentes en un tipo "menu desplegable" y validarla posteriormente en un Switch?...he intentado como String pero se salta y no me efectua las operaciones, algo no me ha quedado claro, he visto como crearlo en el tutorial de Sun pero solo viene ingresando un valor y cuando agrego mas obtengo errores. Lo hice sin option pane y pidiendole valores al usuario desde consola y corre excelente. Mi duda es con etsa modalidad de OptionPane
Les pongo un pedazo del codigo...tal vez no me explique bien :rolleyes:
--- Código: Text --- Object[] possibilities = {"Ball", "Globe", "Balloon", "Orange"}; String s = (String)JOptionPane.showInputDialog(frame,"Ejercicio" + "Ingrese su opcion:\n","Ventana",JOptionPane.INFORMATION_MESSAGE,icon,possibilities," " );
Para obtener un menu parecido a este (tomado de la pagina de java.sun.com)
IMAGEN ADJUNTA
Marcando errores en Frame y icon.
Y porteriormente en el switch lo mando llamar asi:
--- Código: Text ---if (s=="Ball") { String s1 = (String)JOptionPane.showInputDialog(" Introduce el Radio \n");radio=Integer.parseInt(s1) //...asi varios objetos mas creados en otro archivo
Asi pide radio, x, y, z para calcular un cuerpo esferico... el chiste es ke no entra al switch :(
DEKAN:
Ok...actualizando...logre sacar el menu con las opciones :lol:
Ahora la duda es...al entrar al switch me pregunta los valores y aunke estan declarados como double en otra clase, si ingreso un numero decimal truena despues del primer valor pero si ingreso enteros corre perfectamente
--- Código: Text ---double radio, x1,y1,z1;if (s=="Ball") { String s1 = (String)JOptionPane.showInputDialog(" Introduce el Radio \n");radio=Integer.parseInt(s1);//....Asi para x,y,z
Lo que pasa eske necesito los 4 valores y el usuario los debe ingresar, acaso sera el parseInt? :huh: intente un parseDouble y creo no va por ahi porke me marco error :ouch: o lo estare captando mal?
Gracias de antemano :hola:
jpaler:
¡¡¡ ay dios !!!
...,compadre dekan, lo q pasa es q ud no puede venir y comparar dos tipos
de datos String de la forma como lo esta haciendo: if (s=="Ball"){
la manera correcta de comparar String's en java es: if (s.equals("Ball")) {
Salu2 !!!
DEKAN:
--- Cita de: "jpaler" --- ¡¡¡ ay dios !!!
...,compadre dekan, lo q pasa es q ud no puede venir y comparar dos tipos
de datos String de la forma como lo esta haciendo: if (s=="Ball"){
la manera correcta de comparar String's en java es: if (s.equals("Ball")) {
Salu2 !!!
--- Fin de la cita ---
jiijjiijij...ke raro, porke si funciona, si valida en el Switch :P con el "==" y lo trate de la forma ke comentas y funciona igual, aunke sigo teninedo el mismo error de los numeros decimales...Ingresando enteros la cosa cambia, sea cualquiera de las 2 formas valida la opcion y efectua todo, de hecho me arroja resultados double, pero no me los acepta desde las ventanas OptionPane...bueno seguire buscando en una de esas "me ilumino" :comp:
gracias por la respuesta :hola:
-----------------------------------------------------------------------------------------------
EDITADO:
Lo dicho...me he iluminado :smartass: y un error bobo, tenia un Integer parseInt...logico ke me iba a capturar enteros, mi opcion fue:
--- Código: Text ---Double.parseDouble()
Jijijiji... :hola:
Navegación
Ir a la versión completa