JComboBox se ejecuta automatico al iniciar JFrame
Buenas días o Noches a todos los del foro. Tengo un problema con JComboBox que me ejecuta antes de cargar el JFrame..
Ejemplo tengo un ComboBox que lo cargo desde una clase. que esta conectado desde RMI que resibe los datos desde un ArrayList
lleno el combo hasta ahí no hay problema... y desde el combo en el JFrame llamo la clase mostrar combo, y se llena de elementos el ComboBox.
hasta aquí cero problemas..
clase para llenar el Combo Box
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.JComboBox;
public class clase_combo_tipo_empresas {
public static InterfazSanver objRemoto;
private String id_emp;
private String empresas;
public clase_combo_tipo_empresas(String id_emp, String empresas){
this.id_emp = id_emp;
this.empresas = empresas;
}
public clase_combo_tipo_empresas(){
}
/**
* @return the id_emp
*/
public String getId_emp() {
return id_emp;
}
/**
* @param id_emp the id_emp to set
*/
public void setId_emp(String id_emp) {
this.id_emp = id_emp;
}
/**
* @return the empresas
*/
public String getEmpresas() {
return empresas;
}
/**
* @param empresas the empresas to set
*/
public void setEmpresas(String empresas) {
this.empresas = empresas;
}
public void mostrar_combo_empresas(JComboBox<clase_combo_tipo_empresas> combo_empresas, InterfazSanver obj){
objRemoto = obj;
ArrayList<String> combo = new ArrayList<>();
try{
combo = objRemoto.tipo_empresas();
Vector<String> datosMap = new Vector(1);
Iterator<String> mapear = combo.iterator();
String elemento;
int cont = 0;
while(mapear.hasNext()){
if(cont <=1){
elemento = mapear.next();
datosMap.addElement(elemento);
mapear.remove();
}if(cont==1){
combo_empresas.addItem(new clase_combo_tipo_empresas(
datosMap.get(0),
datosMap.get(1)
)
);
datosMap.removeAllElements();
cont = -1;
}
cont++;
}
}catch(RemoteException e){
System.out.println(e);
}
}
@Override
public String toString(){
return empresas;
}
}
EL problema viene cuando hay que trabajar con los datos ya cargados, cuando quiero editar cierta información lo que hago es que cargo los datos y los seteo para que cada información vaya en sus respectvos Jcombos o JTextFields
todos sus datos obtenidos desde RMI
lo cargo asi
try {
data = objRemoto.buscarFranquisias(clave);
clave_franquicia = (String)data.get(0);
num_emp = (String)data.get(1);
jcbTipoempresas.getModel().setSelectedItem(data.get(2));
txtRazonSocial.setText((String)data.get(3));
txtCcta.setText((String)data.get(4));
jcbFranEstados.getModel().setSelectedItem(data.get(5)+ " "+data.get(6));
} catch (RemoteException ex) {
System.out.println(ex);
}
En el ComboBox Obtengo la info de la siguiente manera
cuando se abre el Jframe se ejecuta primero el ItemStateChanged del ComboBox
y automaticamente toma un valor de de id_suc en 0, por en la la primera posicion del JcomboBox hay una leyenda que dice sucursales, aunque este seleccionado un sucursal en particular
no se porque se ejecuta primero el ItemStateChanged..
aqui el combo
pero ya estar cargado el Jframe se ejecuta el combo y toma el ide del primer elemento, en este caso sucursales, y sucursales solo es una leyenda no contiene un id cargado desde la base de datos.
por ejemplo lo que se va editar esta el dato CHICONTEPEC y chicontepec contiene un valor id = 6,
al cargar el jframe no deberia tomar un valor 0 sino 6..
el primero valor es 6 y despues 0
quisiera que si me pueden orientar de como evitar este tipo de inconveniencia de que no se ejecute primero el combo box mas bien se ejecuta dos veces
acepto sugerencias..
de antemano gracias
- Inicie sesión o regístrese para enviar comentarios
Comentarios recientes
hace 19 semanas 4 días
hace 1 año 31 semanas
hace 1 año 35 semanas
hace 1 año 42 semanas
hace 1 año 50 semanas
hace 2 años 1 semana
hace 2 años 3 semanas
hace 2 años 6 semanas
hace 2 años 6 semanas
hace 2 años 12 semanas