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.