Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/07/2008, 17:26
Avatar de cesmichael
cesmichael
 
Fecha de Ingreso: julio-2008
Mensajes: 207
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: problema con los getSelectedIndex() de un JComboBox

bueno gracias por tu ayuda pero he encontrado una nueva solucion y también he encontrado nuevas dudas

mira el codigo qu he puesto esta vez no llamo al evento ActionPerformed sino al ItemStateChange:

private void tipoItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
if(evt.getStateChange()==ItemEvent.SELECTED){
int pos=tipo.getSelectedIndex();
if(pos==0){

System.out.println("Objeto 1");
jPanel2.setVisible(false);
this.add(jPanel1);
jPanel1.setBounds(30, 50, 400, 90);
jPanel1.setVisible(true);
}
if(pos==1){

System.out.println("Objeto 2");
jPanel1.setVisible(false);
this.add(jPanel2);
jPanel2.setBounds(30, 50, 400, 90);
jPanel2.setVisible(true);
}

}
}
como veras loq kiero hacere es qu de acuerdo al indice seleccionado me agregue un panel al frame(para sr mas especificos a un JInternalFrame) buneo el problema como dije era que cuando hacia clic en la primera opcion no Hacia las operaciones que estaban diseñadas para ese indice (el cero pues el primero). solo cuando iba defrente a la segunda opcion ahi recien realizaba las operaciones definidas para ese indice. Bueno esto lo solucione de la siguiente manera como el indice siempre aparece inicializado en cero entonces agregue el jPanel1 al frmae desde el comienzo , de este modo si alguien hacia clic en la primera opcion se tndria al jPanel1 agregado al JInternalFrame y si iba a a la segunda agregaría el jPanel2 y de este modo solucione este problema.
Pero han surgido otras dudas, si ven el codigo sobre toda esta parte:
if(evt.getStateChange()==ItemEvent.SELECTED) segun loq io h entendido es que si el evento que se da es un cambio es decir se cambia de opcion entonces entrara a esta opcion es decir se cambia de estado a otro estado seleccionado (por eso esta el ItemEvent), pero cuando seleccionamso el primer elemento no estamos cambiando de estado , pues sigue en el primero ahora io no se que codigo poner para decirle si es q el estado no cambia, uan soplucion seria poner el combobox asi no: jCombobox1.setSelectedIndex(-1); para que aparesca en blanco y ahi si al seleccionar la primera opocion cambiariamos de estado. y entonces si se podria entrar a las operacionse definidas para el primer indice.

Bueno les pido disculpas por si mi interpretacion de este tipo d eventos no se ala adecuada es que este lo sake de un program que habia en internet y ahi trabajaba con este evento para hacer operaciones de acuerdo a los indices seleccionados del combobox y bueno trate dedarle una interpretacion deacuerdo a la documentacion que encontre espero que sigan rspondiendo pero esta vez para explicar esto de los Itemevents y sus metodos o mejor dicho para dar una mejor explicacion a esta validacion:
if(evt.getStateChange()==ItemEvent.SELECTED)

agradesco de antemano sus aportes