JCombobox setSelectedItem()

7 respostas
java
M

Estou populando meu JCombobox com o código mencionado vindo do banco.

private void ListarDeStatus() {

ControllerStatus status = new ControllerStatus();
    List<Tab_Status> lista = status.obterDados();

    for (Tab_Status f : lista) {
        
        CboStatus.addItem(f);
    }

}

só não consigo setar o valor vindo do banco.

CboStatus.setSelectedItem(funcionarios.getStatus().getStatusDescricao());
permanece no primeiro registro adicionado.

7 Respostas

S

Seu JComboBox contém objetos do tipo Tab_Status mas você está tentando selecionar um objeto do tipo String, que seria a descrição do status.
Assim deve resolver:

CboStatus.setSelectedItem(funcionarios.getStatus());

M

Perfeito meu amigo, tópico resolvido. Obrigado!!

M

eu já dei esse tópico como resolvido, porque tive exito na sua ajuda, tentei fazer o mesmo com a tabela de estados, está populando certinho o JCombobox, o problema está sendo novamente na hora de setar o estado cadastrado em banco.

Relacionamento com Hibernate

@ManyToOne

private Tab_Status status;

@ManyToOne

private Estados estado;
/<em>status está setando direitino</em>/

this.CboStatus.setSelectedItem(funcionarios.getStatus());

/<em>estado não está setando</em>/

this.jComboBox1.setSelectedItem(funcionarios.getEstado());
S

Qual o tipo de retorno do método funcionarios.getEstado()?

Como você preencheu o jComboBox1?

M

Assim estou populando meu JCombobox

private void ListaDeEstados() {

ControllerEstados estados = new ControllerEstados();
    List<Estados> lista = estados.obterDados();

    for (Estados e : lista) {

        CboEstado.addItem(e);
    }




}

this.CboEstado.setSelectedItem(funcionarios.getEstado());

assim está sendo feito na JCombobox status e está setando certinho, agora no estado não seta.

será que tem a ver com o relacionamento hibernate?

@ManyToOne

private Tab_Status status;

@ManyToOne

@JoinColumn(name = estado_ID)

private Estados estado;
M

Colega problema resolvido o JCombobox tem uma propriedade Editable ao marcar deu tudo certo, mas uma vez obrigado e topico finalizado.

S

Editable é para você poder digitar valores no combo.

Provavelmente sua classe Estado não está implementando os métodos equals e hashcode.

Criado 20 de fevereiro de 2024
Ultima resposta 21 de fev. de 2024
Respostas 7
Participantes 2