ComboBox mostra os itens mas não deixa selecioná-los

3 respostas
B

Ola galera!

Estou com um probleminha bem chato. Tenho um jComboBox, que está listando os valores recebidos corretamente, porém na hora em que eu clico nele para selecionar uma opção, ele mostra sempre a primeira opção! Ou seja, ele não está selecionando a opção desejada! O que pode ser isto?

Segue abaixo a implementação do model:
public class AgenteComboBoxModel extends DefaultComboBoxModel
{
    private List<SituacaoAgenteVO> dados = new ArrayList<SituacaoAgenteVO>();
    public int indexSelected;
    
    public AgenteComboBoxModel (List<SituacaoAgenteVO> dados)
    {
        this.dados = dados;
    }
   
    public int getSize() 
    {
        return dados.size();
    }

    public Object getElementAt(int index) 
    {
        SituacaoAgenteVO dado = dados.get(index);
        return dado;
    }
    
    public Object getSelectedItem() 
    {
 	return dados.get(indexSelected);
    }
    
}

Obrigado a todos!!!! :wink:

3 Respostas

ViniGodoy

Faltou implementar o método setSelectedItem.

E já que você está implementando seu próprio Model, pq não implementa ComboBoxModel ou MutableComboBoxModel ao invés de extender DefaultComboBoxModel?

B

Mas eu quero apenas ler esse valor selecionado! :lol:

ViniGodoy

O setSelectedItem é chamado pela ComboBox, quando ela quer informar ao seu model que um item foi selecionado. Assim, sempre que o usuário troca o valor da combo, esse método é chamado.

Provavelmente a implementação para sua combo vai ser algo do tipo:

public void setSelectedItem(Object o) { indexSelected = dados.indexOf(o); }

Criado 23 de julho de 2007
Ultima resposta 23 de jul. de 2007
Respostas 3
Participantes 2