Modificar opção em um ComboBox em relação ao que está cadastrado no MySql

Boa tarde, tenho um programa onde estou cadastrando Montadoras, Carros e Peças destes carros. A parte de cadastrar a montadora, funcionou perfeito, na janela de cadastro de carros, tenho um ComboBox onde seleciono qual a montadora deste carro, cadastrar isso está funcional, mas na hora de consulta, gostaria que modificasse o “selecionado” do ComboBox em relação ao que está cadastrado.

Segue o código:

private List<Carro> carroList = new CarroController().listaCarros();
    
    private int registroAtual = 0;
    
    //lista retornada pelo MontadoraController
    private final List<Montadora> montadoras = new MontadoraController().listaMontadoras();
 
    private final DefaultComboBoxModel cb_modelo = new DefaultComboBoxModel();
    
    private void onClickUltimo() {
        registroAtual = carroList.size() - 1;
        getValores(registroAtual);
        jL_Id.setText(Integer.toString(registroAtual));
    }
 
    private void onClickProximo() {
        if (registroAtual != carroList.size() - 1) {
            getValores(++registroAtual);
            jL_Id.setText(Integer.toString(registroAtual));
        }
    }
 
    private void onClickAnterior() {
        if (registroAtual != 0) {
            getValores(--registroAtual);
            jL_Id.setText(Integer.toString(registroAtual));
        }
    }
 
    private void onClickPrimeiro() {
        registroAtual = 0;
        getValores(registroAtual);
        jL_Id.setText(Integer.toString(registroAtual));
       
    }
 
    private void getValores(int index) {
        if (index <= carroList.size() - 1) {
            Carro carroAtual = carroList.get(index);
            tf_nome.setText(carroAtual.getCarnome());
            tf_ano.setText(carroAtual.getCarano());
            tf_modelo.setText(carroAtual.getCarmodelo());
            cb_montadora.setSelectedItem(carroAtual.getMontadoramontid());
        }
    }
 
    private void onClickAlterar() {
        CarroController crc = new CarroController();
        int carid = carroList.get(registroAtual).getCarid();
        
        try {
            Montadora montadora = (Montadora) cb_montadora.getSelectedItem();
            Integer idMontadora = montadora.getMontid();   
            
            jL_Id.setText(Integer.toString(registroAtual));
            crc.alterar(carid, tf_nome.getText(), tf_ano.getText(), tf_modelo.getText(), idMontadora);
            JOptionPane.showMessageDialog(this, "Carro alterado com sucesso!");
            clearFields();
            carroList = new CarroController().listaCarros();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(this, "Nao foi possivel alterar carro!n" + e.getLocalizedMessage());
        } catch (ParseException e) {
            JOptionPane.showMessageDialog(this, "Data possui formato inválido!n" + e.getLocalizedMessage());
        }
    }
 
    private void onClickSalvar() {
        CarroController crc = new CarroController();
        try {
            Montadora montadora = (Montadora) cb_montadora.getSelectedItem();
            Integer idMontadora = montadora.getMontid();            
            
            jL_Id.setText(Integer.toString(registroAtual));
            crc.salvar(tf_nome.getText(), tf_ano.getText(), tf_modelo.getText(), idMontadora);
            JOptionPane.showMessageDialog(this, "Carro salvo com sucesso!");
            clearFields();
            carroList = new CarroController().listaCarros();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(this, 
                "Nao foi possivel salvar carro!n" + 
                e.getLocalizedMessage()
            );
        } catch (ParseException e) {
            JOptionPane.showMessageDialog(this, 
                "Data possui formato inválido!n" + 
                e.getLocalizedMessage()
        );
        }
    }
 
    private void onClickExcluir() {
        CarroController crc = new CarroController();
        long id = carroList.get(registroAtual).getCarid();
                
        try {
            jL_Id.setText(Integer.toString(registroAtual));
            crc.excluir(id);
            JOptionPane.showMessageDialog(this, "Carro excluido com sucesso!");
            clearFields();
            carroList = new CarroController().listaCarros();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(this, 
                "Nao foi possivel excluir o carro!n" + 
                e.getLocalizedMessage()
            );
        }
    }
 
    private void onClickLocalizar() {
        CarroController crc = new CarroController();
        try {
            Montadora montadora = (Montadora) cb_montadora.getSelectedItem();
            Integer idMontadora = montadora.getMontid();
            
            Carro cr = crc.buscaCarroPorNome(tf_campo.getText());
            tf_nome.setText(cr.getCarnome());
            tf_ano.setText(cr.getCarano());
            
            tf_modelo.setText(cr.getCarmodelo());
            cb_montadora.setSelectedItem(idMontadora);
                      
            jL_Id.setText(cr.getCarid().toString());
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(this, 
                "Ocorreu um erro, tente novamente!n" + 
                e.getLocalizedMessage()
            );
        } catch (NullPointerException e){
            JOptionPane.showMessageDialog(this, 
                "Carro não localizdo ou não existe!n" + 
                e.getLocalizedMessage()
            );
        }
    }
 
    private void clearFields() {
        tf_nome.setText("");
        tf_ano.setText("");
        tf_modelo.setText("");
    }

Grato desde já

eu entendi o que vc quer dizer, porém está complicado pq não sei como está os itens do seu combo, vamos tentar te ajudar…

vc não está fazendo confusão com “index” e “item” ?
exemplo:

azul
amarelo
vermelho

index 0, item "azul"
index 1, item "amarelo"
index 2, item “vermelho”

eu vi ali em cima que vc pega o ID da montadora e tenta selecionar como Item…
esta parte que está difícil de entender

vamos supor que o id da montadora seja 37…

entao vc está procurando o campo 37 no item…
se o item for: “37 - FORD” ele não vai selecionar, pois 37 não é igual 37 - FORD

posso ter entendido de forma errada tbm

Acredito que não seja esse o problema, pois tipo estou realmente manipulando peloo index, mas na hora de “printar” o conteúdo chamo o campo “nome” do index tal. Digamos assim, único momento que alguma interação com o nome da montadora é quando cadastro e quando preciso fazer um “get” nela.