Autor Tema: Capturar opcion elegida en JoptionPane Java ShowInputDialog botón pulsado evento  (Leído 11495 veces)

PATZZZAAVR

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
Hola, quisiera saber como puedo capturar la opcion elegina en un ShowInputDialog.

Mi código sería así:

Código: [Seleccionar]
JButton btnNuevo = new JButton("Nuevo");
btnNuevo.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Object[] options = { "Cliente", "Servicio" };
                JOptionPane.showOptionDialog(null, "Elige Cliente o Servicio", "Aviso",
                JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,
                null, options, options[0]);
               

}
});
btnNuevo.setBounds(207, 537, 89, 23);
contentPane.add(btnNuevo);
Lo que quiero hacer es agarrar el valor seleccionado para que me pueda abrir otra ventana.
« Última modificación: 27 de Agosto 2022, 14:18 por César Krall »

dongo

  • Intermedio
  • ***
  • Mensajes: 177
    • Ver Perfil
Re:Capturar opcion elegina en JoptionPane
« Respuesta #1 en: 11 de Agosto 2014, 16:55 »
Te paso el listener modificado con la detección del botón pulsado, fíjate en la variable int opcion a la que le asigno el valor del joptionpane, esta variable tendrá un valor de acuerdo al botón que se ha pulsado, en este caso al haber solo dos botones la variable opción tomará los valores 0 y 1, si hubiera 5 botones, los valores irían del 0 al 4.

Bueno, sin mas el listener modificado:
Código: [Seleccionar]
btnNuevo.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Object[] options = { "Cliente", "Servicio" };
                int opcion=JOptionPane.showOptionDialog(null, "Elige Cliente o Servicio", "Aviso",
                JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,
                null, options, options[0]);
                if(opcion==0){
                            System.out.println("has elegido cliente");
                        }
                        else{
                             System.out.println("has elegido servicio");
                        }
}
});

Pero una cosa, eso es un OptionDialog, el inputDialog tiene un campo de texto para escribir, bueno a ver si esto te vale, un saludo!!

PATZZZAAVR

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
Re:Capturar opcion elegina en JoptionPane
« Respuesta #2 en: 11 de Agosto 2014, 20:11 »
Gracias dongo, me sirvió tu ayuda  ;)

PATZZZAAVR

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
Re:Capturar opcion elegina en JoptionPane
« Respuesta #3 en: 11 de Agosto 2014, 20:52 »
Tengo otro problema con la misma linea, ahora ya se como atrapar los valores de cada opción (Cliente, Servicio), mi problema es que cuando yo le de a elegir cualquiera de los 2 quiero que me abra otra ventana, por ejemplo la de cliente, para llenar un formulario.

dongo

  • Intermedio
  • ***
  • Mensajes: 177
    • Ver Perfil
Re:Capturar opcion elegina en JoptionPane
« Respuesta #4 en: 11 de Agosto 2014, 20:59 »
Pues no es difícil, a ver tu ya tendrás una clase que extienda de JFrame y que sera el formulario(LLamemoslas Formcliente y FormServicio), pues tan simple como en la condición que captura los valores crear un objeto de estos tipos y hacerlo visible te pongo como deberá quedar el código:


Código: [Seleccionar]
btnNuevo.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
Object[] options = { "Cliente", "Servicio" };
                int opcion=JOptionPane.showOptionDialog(null, "Elige Cliente o Servicio", "Aviso",
                JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,
                null, options, options[0]);
                if(opcion==0){
                            new FormCliente().setVisible(true);
                        }
                        else{
                              new FormServicio().setVisible(true);
                        }
}
});

Y eso, FormCliente y FormServicio, seran cada una de las dos ventanas dependiendo de la opción, no se si me explicado, si tienes alguna duda vuelve a escribirnos, un saludo!!

Nota:Hay muchas mas maneras de hacerlo.... esto es una de ellas...

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".