Foros aprenderaprogramar.com
Aprender a programar => De todo un poco... => Mensaje iniciado por: PATZZZAAVR en 11 de Agosto 2014, 16:04
-
Hola, quisiera saber como puedo capturar la opcion elegina en un ShowInputDialog.
Mi código sería así:
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.
-
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:
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!!
-
Gracias dongo, me sirvió tu ayuda ;)
-
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.
-
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:
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...