Setar objeto no JComboBox

4 respostas
M

Boa noite.

Tenho uma tela de cadastro de agências bancárias, nessa tela há um JComboBox para listar os bancos, onde carrego um array de objetos Banco. Funciona legal para novos registros, porém ao abrir para consulta ou alteração o objeto Banco vinculado ao objeto Agencia não fica selecionado no JComboBox. Já tentei com setSelectedItem mas não funciona, acho que para usar assim o objeto no combo e na agencia tem que ser a mesma instancia. Há um maneira pratica de resolver isso?

4 Respostas

RicardoYukito

Tente algo do tipo :

public void setBanco (SuaClassBanco banco){

for (int i = 0; i < jComboBox.getItemCount(); i++) {
jComboBox.getItemAt(i);
jComboBox.setSelectedIndex(i);
}


}

Nao tenho certeza, mas é por ae

M

Mas é só esse o código? Qual a função do parâmetro banco?

RicardoYukito

Voce precisa comparar o banco da sua agencia com um banco da lista…

nao tenho ctz se funciona pois nao tenho o codigo pronto, mas voce precisa no seu metodo de consulta passar o objeto banco da sua agencia para esse metodo e comparar as posições.

public void SetBanco (Banco banco){
        for (int i = 0; i < jComboBox.getItemCount(); i++) {
            Banco b = (Banco)jComboBox.getItemAt(i); 
            if (b.getBancoId() == banco.getBancoId()) { // comparo  um valor do Objeto passado no parametro com um banco...
              jComboBoxCidade.setSelectedIndex(i);// quando meus 2 valores forem igual eu vou ter a posicao  do meu banco no combo. 
    }
}

ps: sou novato em java, se falei algo errado me desculpe;

M

Ok, agora entendi. O caso é que erra assim que eu fazia, até serve para o cadastro de bancos, que são poucos regostros. Porém, queria ver se há uma maneira mais pratica de fazer isso, pois terei tabelas bem maiores.

Criado 13 de julho de 2010
Ultima resposta 14 de jul. de 2010
Respostas 4
Participantes 2