Digamos que eu tenha um objeto pessoa e quero exibir o nome desses objetos em um JList. Só que se um usuário selecionar eu quero o id e não o nome do meu objeto pessoa. Dá pra fazer isso com o DefaultListModel? Id é um atributo do meu objeto pessoa…
1º - No seu objeto pessoa, sobrescreve o método toString() de Object, senod assim quando vc adicionar um objeto Pessoa na lista o que vc criou no toString() que vai aparecer.
2º - Quando o usuário clicar no item da lista, é só vc capturar o item que foi clicado (um Object) e dar um cast para o tipo Pessoa que é o tipo “real” do objeto fa lista. Tendo o objeto pessoa “em mãos” vc pode usar seu método get para pegar o id.
Falow!
andre_guitar7
muuuuuuuuuuuuuuuuuito bem pensado
dudaskank
Bem, se não me engano, bastaria vc sobrescrever o método toString desse seu pessoa e passar um array ou vetor deles para o construtor do JList.
Aí, é só pegar o objeto selecionado e dar um getId() nele, ou getQualquerCoisaDaPessoa()
flw
[edit] argh… fui lerdo de novo
lesfar
Alguém me explique isso direito?
lesfar
//Adiciono os elementos da lista dessa maneira:lmListaArtistas.addElement(newBean(Integer.parseInt(itens[x][0]),itens[x][1]));//Como faço agora para pegar esses elementos aqui dentro? Pode ser mostrado num JOptionPaneMouseListenermouseListener=newMouseAdapter(){publicvoidmouseClicked(MouseEventevent){intindex=jlListaArtistas.locationToIndex(event.getPoint());JOptionPane.showMessageDialog(null,dados.getId());}};
Ajudem ai
dudaskank
Não sei se entendi, o que você quer fazer, pegar os que estão selecionados na lista?
Para isso, pode usar o método getSelectedValues(), que te retorna os objetos selecionados num Object[], aí é só dar o cast pra classe que você usa e chamar os seus gets pra recuperar as informações.
lesfar
Tudo bem, eu não soube esplicar direito, mas eu dei um jeito nisso, um “gato”. Vou postar aqui para ver o melhor jeito de se fazer.