Atualizar JComboBox de um campo vindo do banco de dados

Tou com um problemão. Preciso atualizar a minha JComboBox(cmbProva) quando faço uma consulta na minha ficha do banco já gravada e trago o registro com uma String chamada prova=“NAO” ou “SIM”. todos os outros campos da tela estão preenchidos, exceto os JComboBox. Já pesquisei em todos os lugares mas não encontrei nada parecido. Alguem sabe ou tem uma dica de como posso fazer para atualizar o campo prova vindo do banco na JComboBox da tela. Abaixo um trecho do codigo como estou fazendo:


                for (Fichas fich : listaFichas) {  
                   if(fich instanceof Fichas){    
                           //aqui é feito um cast    
                        Fichas ficha = (Fichas)fich;    
                       //faz verificação se for o caso.    
                        if(ficha.getIdos().equals(codos) && (ficha.getId().equals(identificador))){   
                            txtIdCor.setText(String.valueOf(ficha.getIdfabricante()) );  
                            txtIdFormadePagamento.setText(String.valueOf(ficha.getIdformadepagamento()) );  
                            txtIdFabricante.setText(String.valueOf(ficha.getIdfabricante()) );  
                            txtIdPreco.setText(String.valueOf(ficha.getIdpreco()) );  
                            txtQtde.setText(String.valueOf(ficha.getQuantidade()));  
                            txtPreco.setText(String.valueOf(ficha.getPreco()));  
                            jTextAreaObs.setText(ficha.getObservacao());  
                            String strData = (convdata.MostraDataBD(ficha.getChegada()));  
                            jFdChegada.setText(strData);   
                            String strData1 = (convdata.MostraDataBD(ficha.getVencendo()));  
                            jFdPrevisaoEntrega.setText(strData1);  
    // Aqui pego o campo prova do meu banco e coloco numa variavel String e testo.  
                             prova = ficha.getProva();  
                            if(prova == "NAO"){  
                                cmbProva.setSelectedItem("NAO");  
                                cmbProva.setSelectedIndex(0);  
                            }else{  
                                cmbProva.setSelectedItem("SIM");  
                                cmbProva.setSelectedIndex(1);  
                            }  
    // ja tentei desse modo e não funcionou  
    //                        cmbProva.updateUI();  
    //                        atualizaCombo(cmbProva);  
    //                        cmbProva.repaint(100, 107, 50, -1);  
    //já tentei desse modo e não funcionou. Aqui outracombobox chamada cmbFabricante. 
    //                        DefaultComboBoxModel model = new DefaultComboBoxModel();  
    //                        int x = model.getIndexOf(ficha.getNomefabricante());   
    //                        if(cmbFabricante.getSelectedIndex() != -1){    
                            cmbFabricante.setSelectedItem(ficha.getNomefabricante().toString());}  
                            cmbFabricante.setSelectedIndex(x);  
    //                        cmbFabricante.updateUI();  
                            calculaValor();  
    //                        preencheFormadePagamento();  
    //                        txtPreco.setText(String.valueOf(ficha.getPreco()));  
                   System.out.println("passou findeq fichas=" +jFdChegada.getText().toString() + " " + ficha.getNomefabricante() );  
    //               System.out.println("Prova=" +prova  );  
                              
    //                   }   
                    }   
                }  
            } catch (SQLException e) {  
                Logger.getLogger(jIFOs.class.getName()).log(Level.SEVERE, null, e);  
            }  
    // Outro procedimento, chamando esse metodo tb não funcionou.  
          public void atualizaCombo(JComboBox cb){    
            
                
            DefaultComboBoxModel cbm = (DefaultComboBoxModel)cb.getModel();    
            cbm.removeAllElements();    
            cb.setModel(cbm);    
            
        }    

Grato.

To tentando te ajudar amigo, mas to meio perdido, teria como por o codigo inteiro, me perdi em alguns métodos e funções que voce criou.

Att

Pessoal, me desculpem.

Vou tentar melhorar a explicação e colocar o codigo a partir da tabela de fichas que o usuario escolhe, que é onde começa esse processo.
Preciso atualizar a minha combobox na tela(trazer o dado do banco um campo tipo string chamado prova=‘NAO’ ou ‘SIM’ QUE ESTÁ NA COMBOBOX CMBPROVA).
Pesquisei sobre setSelectedItem e setSelectedIndex e não conseguir setar o campo vindo do banco da combobox. Vou colocar o codigo abaixo e preciso da sua ajuda.
Aqui a minha tabela de ficha que o usuario seleciona uma ficha, só que essa ficha não possui os campos que quero e preciso fazer o preenchimento do restante.

    private void jTFichaMousePressed(java.awt.event.MouseEvent evt) {                                     
        // TODO add your handling code here:
        Integer linha = jTFicha.getSelectedRow();
        int idtipopreco = (Integer) jTFicha.getValueAt(linha, 0);
        String desctipopreco = (String) jTFicha.getValueAt(linha, 1);
        int idprotese = (Integer) jTFicha.getValueAt(linha, 2);
        String descprotese = (String) jTFicha.getValueAt(linha, 3);
        int idos = (Integer) jTFicha.getValueAt(linha, 4);
        int idficha = (Integer) jTFicha.getValueAt(linha, 5);
        String situacao = (String) jTFicha.getValueAt(linha, 6);
        codos = idos;
        identificador = idficha;    // variavel para pegr os dados no processo de preencherFichas
        txtIdProtese.setText(idprotese + "");
        txtProtese.setText(descprotese);
        txtIdTipodePreco.setText(idtipopreco + "");
        txtTipodePreco.setText(desctipopreco);
        txtIdFicha.setText(idficha + "");
        txtSituacao.setText(situacao);
        jBtnFichas.setEnabled(false);
        tipopreco = desctipopreco;
        protese = descprotese;
        preencheFichas();
        jDesktopPane2.setVisible(true);
        jInternalFrameJTableFichas.setVisible(false);
        jInternalFrameFichas.setVisible(true);
        jTFicha.setVisible(false);
        jPanelFichas.setVisible(true);
    }                                    
//Aqui é minha duvida o preenchimento do restante da ficha, quando seleciona uma ficha na tabela.
    private void preencheFichas() {
        FichasDao dao = null;
        try {
            dao = new FichasDao();
            listaFichas = (ArrayList<Fichas>)(dao.findeqcomposto(codos,identificador)); 

            for (Fichas fich : listaFich o as) {
               if(fich instanceof Fichas){  
                       //aqui é feito um cast  
                    Fichas ficha = (Fichas)fich;  
                   //faz verificação se for o caso.  
                    if(ficha.getIdos().equals(codos) && (ficha.getId().equals(identificador))){ 
                        txtIdCor.setText(String.valueOf(ficha.getIdfabricante()) );
                        txtIdFormadePagamento.setText(String.valueOf(ficha.getIdformadepagamento()) );
                        txtIdFabricante.setText(String.valueOf(ficha.getIdfabricante()) );
                        txtIdPreco.setText(String.valueOf(ficha.getIdpreco()) );
                        txtQtde.setText(String.valueOf(ficha.getQuantidade()));
                        txtPreco.setText(String.valueOf(ficha.getPreco()));
                        jTextAreaObs.setText(ficha.getObservacao());
                        String strData = (convdata.MostraDataBD(ficha.getChegada()));
                        jFdChegada.setText(strData); 
                        String strData1 = (convdata.MostraDataBD(ficha.getVencendo()));
                        jFdPrevisaoEntrega.setText(strData1);
Aqui é o campo do banco que quero mostrar na minha combobox na tela, quando trago essa ficha.
                         prova = ficha.getProva();
                         if(ficha.getProva().equals("NAO")){
                            cmbProva.setSelectedItem(prova);
                            cmbProva.setSelectedIndex(0);
                        }else{
                            cmbProva.setSelectedItem("SIM");
                            cmbProva.setSelectedIndex(1);
                        }

                        calculaValor();  // metodo para calcula o valor total da ficha(com esse metodo tá tudo ok)
                    }       
                }
            }
        } catch (SQLException e) {
            Logger.getLogger(jIFOs.class.getName()).log(Level.SEVERE, null, e);
        }
        
    }

Agradeço qq ajuda.