Pessoal tenho 7 nomes de pessoas adicionados no meu JComboBox.Como faço para pegar meu o terceiro nome e ele me retornar um valor inteiro?Ex Valor inteiro = 3…
Na Verdade eu quero pegar um valor de posição do combox ao selecionar um objeto.
Duvida no JComboBox
12 Respostas
O método getSelectedIndex() retorna o índice que está selecionado no combo box.
int posicao = comboBox.getSelectedIndex();
PS.: Os índices começam em zero.
só me retorna o 0…pq?
Imagino que o método esteja sendo chamado enquanto o primeiro item (posição 0) está selecionado.
Como está fazendo pra chamar este método?
Ixi Lascooo… Quando tenho um objeto nome na posição 0 e outro objeto na posição 7 por ex… o objeto da minha posiçao 7 retorna 0 tb…Como resoover isso?
Onde está sendo chamado o método getSelectedIndex? Está usando algum evento?
Poste o trecho do código onde chama este método.
apenas no click (Como teste Simples) ao clicar e selecionar um objeto desejado só isso.
Bom acredito que não esteja utilizando um método para ouvir os eventos do JComboBox
final JComboBox seuJComboBox = new JComboBox(pessoas);
seuJComboBox.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent evento){
System.out.println(seuJComboBox.getSelectedIndex());
}
}
);
Caso queira algo menos mastigado, pode dar uma olhada na documentação
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JComboBox.html
O problema é que quando tenho dois nomes iguais ele sempre me retorna 0. Entedeu?
O JComboBox é assim mesmo. Se tiver itens repetidos, ele retorna o que estiver na posição mais baixa.
O que pode ser feito é adicionar as pessoas ao combo box. Somente a sua classe que representa a pessoa sabe diferenciar pessoas de mesmo nome.
Para que apareça apenas o nome na combo, é preciso implementar o método toString para retornar o nome da pessoa.
isso é um bug do Java desde 1998.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4133743
tks Eric Yuzo
Pessoal então como resolver meu problema?
eu tento passar um objeto pra ele mais ele nao funciona.
comboBox = new JComboBox(Pessoa);
Você deve passar objetos do tipo Pessoa e não a classe Pessoa.
Você não cria sua ComboBox assim:
comboBox = new JComboBox(String);