Como exibir resolver esse problema... JList + ArrayList + JTextArea

Bem pessoal, to com outro probleminha aqui complicado ate mesmo de expressar… mas vou tentar.

Tenho aqui um ArrayList de objetos… cada objeto, por sua vez, possuir os atributos:

[code]ArrayList listaDeProdutos = new ArrayList ;

private String nome;
private int valorDeCusto;
private int valorDeVenda;[/code]

Já conseguir, atravez de um Enhanced For e usando a DefaultListModel preencher meu campo do tipo JList com os nomes dos produtos… da seguinte forma:

public static JList exibirProdutos (JList listaDosProdutos){ int i = 0; DefaultListModel modelo = new DefaultListModel(); for (Produtos obj : listaDeProdutos){ modelo.addElement(todosProdutos.get(i).nome); i++;} listaDosProdutos.setModel(modelo); return listaDosProdutos; }

Agora que já tenho a lista exibida na tela, eu gostaria que, a medida que o usuario selecionasse produto por produto na lista, os outros campos “Valor de Custo” e “Valor de Venda” fossem preenchidos na tela automaticamente, tenho na tela de consulta de produtos, esse JList onde aparece o nome dos produtos atravez desse metodo que mostrei… e tem outros 2 JTextArea onde devem aparecer o Valor de Custo e Valor de Venda do produto selecionado…, sem a necessidade de apertar mais botões… seria um preenchimento “sob demanda”… alguma luz de como eu posso fazer isso ? grato.

crie um evento mouseclick na lista, capture o item selecionado da lista e em seguida preencha os campos

dica:
uma forma mais simples de popular o seu JList…

sobrescreva o metodo toString da sua classe Produto assim:

        
@Override
	 public String toString() {
		return getNome();
	}

e depois faça no seu JList

listaDosProdutos.setListData(listaDeProdutos.toArray());

Obrigado pelas dicas Marlon, hoje a noite vou testar e mais tarde respondo como ta o andamento aqui das coisas =D vlw !

Pode fazer assim pra capturar o evento de seleção tanto do mouse quanto pelas movimentação através das setas do teclado:

[code]listaDosProdutos.addListSelectionListener(new ListSelectionListener(){
@Override
public void valueChanged(ListSelectionEvent e) {
int index = listaDosProdutos.getSelectedIndex();
if(index == -1) // nenhum item selecionado
return;

  Produto produtoSelecionado = listaDeProdutos.get(index);

  //Aqui vai o código para preencher campos na tela

}
});[/code]

Muito obrigado pelo exemplo silasyudi, vai ser de enorme ajuda ! muito obrigado mesmo.