style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

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.rmi.RemoteException;
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

ArrayList<Object> data = new ArrayList<>();
    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

private void jcbSucursalesItemStateChanged(java.awt.event.ItemEvent evt) {
if (evt.getStateChange() == ItemEvent.SELECTED) {
try {
       num_suc = jcbSucursales.getItemAt(jcbSucursales.getSelectedIndex()).getId_suc();
        CargarTabla(num_suc);
      } catch (Exception e) {
              System.out.println(e);
     }
 }
}

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

  • https://i.ibb.co/SBdSKFS/JcombBox.png
  • 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

    style="display:inline-block;width:728px;height:90px"
    data-ad-client="ca-pub-5164839828746352"
    data-ad-slot="7563230308">