Inserindo itens na JList em tempo de execução?

Olá galera, olha eu aqui de novo…
Gostaria mais uma vez da ajuda de vocês…

Estou criando uma List onde ele não terá itens fixos, ele terá que pegar itens de um JTextField e adicionar na JList…

Nesse caso é um cadastramento de produtos, a pessoa digitará o nome, preço e descrição e irá clicar num botão para adicionar na lista, esses itens, então passarão para a JList…

Segue o código

[code]
import java.awt.;
import java.awt.event.
;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

public class CadProduto extends JFrame implements ActionListener , ListSelectionListener{

JLabel lblNomeProduto, lblPrecoProduto, lblDescricaoProduto, lblListaProduto, lblRetornoLista;   
JTextField txtNomeProduto, txtPrecoProduto;   
JTextArea taDescricaoProduto;   
JButton btAddListaProduto, btRemoveListaProduto, btSalvarProduto, btFecharProduto;   
private final DefaultListModel listandoProduto = new DefaultListModel();
private JList listaProduto;    

CadProduto(){
	setTitle("Sistema ADM - Cadastramento de Produtos");   
    setSize(550,600);   
    setLocation(260,20);   
    setResizable(false);   
    
    //Inclusão de nomo do produto
    lblNomeProduto = new JLabel("Nome do Produto");   
    lblNomeProduto.setBounds(5,10,120,20);   
    txtNomeProduto = new JTextField(100);   
    txtNomeProduto.setBounds(5,35,200,20);   
    
    //Inclusão de preço do produto
    lblPrecoProduto = new JLabel("Preço do Produto");   
    lblPrecoProduto.setBounds(5,65,120,20);   
    txtPrecoProduto = new JTextField(10);   
    txtPrecoProduto.setBounds(5,90,200,20);   
    
    //Inclusão da descrição do produto
    lblDescricaoProduto = new JLabel("Descrição do Produto");   
    lblDescricaoProduto.setBounds(5,120,200,20);   
    taDescricaoProduto = new JTextArea(10,25);   
    taDescricaoProduto.setBounds(5,145,200,200);   
    JScrollPane painel = new JScrollPane(taDescricaoProduto);   
    
    //Inclusão da lista de produtos
    lblListaProduto = new JLabel("Lista de produtos adicionados");
    lblListaProduto.setBounds(300,10,200,20);
    listaProduto = new JList(listandoProduto);   
    listandoProduto.addElement("");   
    listaProduto.setModel(listandoProduto);
    listaProduto.addListSelectionListener(this);   
    JScrollPane painelLista = new JScrollPane(listaProduto);
    listaProduto.setBounds(300,35,230,315);
    
    //Botão adicionar produtos da lista">>"
    btAddListaProduto = new JButton(">>");
    btAddListaProduto.setBounds(230,145,50,40);
    
    //Botão remover produtos da lista"<<"
    btRemoveListaProduto = new JButton("<<");
    btRemoveListaProduto.setBounds(230,190,50,40);
    
    //Botão para salvar produtos no BD... Ainda não mexi nele
    btSalvarProduto = new JButton("Salvar Produto");
    btSalvarProduto.setBounds(300,400,200,20);
    
    //Botão para fechar janela
    btFecharProduto = new JButton("Fechar");
    btFecharProduto.setBounds(300,520,200,20);
    
    //Retorno da lista selecionada
    lblRetornoLista = new JLabel("");
    lblRetornoLista.setBounds(300,360,200,20);
    
    getContentPane().setLayout(null);   
    getContentPane().add(lblNomeProduto);   
    getContentPane().add(txtNomeProduto);   
       
    getContentPane().add(lblPrecoProduto);   
    getContentPane().add(txtPrecoProduto);   
       
    getContentPane().add(lblDescricaoProduto);   
    getContentPane().add(taDescricaoProduto);   
    getContentPane().add(painel);   
    
    getContentPane().add(lblListaProduto);
    getContentPane().add(listaProduto);
    getContentPane().add(painelLista);
    getContentPane().add(btAddListaProduto);
    getContentPane().add(btRemoveListaProduto);
    getContentPane().add(btSalvarProduto);
    getContentPane().add(btFecharProduto);
    getContentPane().add(lblRetornoLista);
               
}   

public void actionPerformed(ActionEvent e) {   
    if (e.getSource()==btAddListaProduto)   
    {   
      listandoProduto.addElement(txtNomeProduto.getText());  // adiciona itens a lista   
    }    
}

public void valueChanged(ListSelectionEvent e) {   
    if (listaProduto.getSelectedValue() != null)
    {
        if (listaProduto.getSelectedValue() != null)
        lblRetornoLista.setText("Selecionado : "+ listaProduto.getSelectedValue());
    }
}   

}[/code]

Acredito que o erro esteja por aqui…

 public void actionPerformed(ActionEvent e) {   
        if (e.getSource()==btAddListaProduto)   
        {   
          listandoProduto.addElement(txtNomeProduto.getText());  // adiciona itens a lista   
        }    
    }

melhor seria salvar num banco de dados naum?

Sim…
Será o próximo passo, é que eu ainda não cheguei nas aulas de SQL… Só na metade do mês em diante. ¬¬
Enquanto isso eu estou me virando com o que aprendi até aqui…
Nesse código vc vai reparar que tem um botão “Salvar Produto”, nele eu vou fazer essa tarefa, a pessoa passará os itens pra lista e depois ele será, ao pressionar “Salvar Produto” gravado no BD, mas ainda não aprendi…¬¬

Falta vc adicionar o JButton a um actionListener

segue link de referencia:

http://www.javaprogrammingforums.com/java-code-snippets-tutorials/278-how-add-actionlistener-jbutton-java-swing.html

Então seliaj…
Eu inclui a um evento nesta parte do código…

public void actionPerformed(ActionEvent e) {     
       if (e.getSource()==btAddListaProduto)     
       {     
         listandoProduto.addElement(txtNomeProduto.getText());  // adiciona itens a lista     
       }       
   }

Mas não funfa…

vc criou uma instancia da ActionListener para o metodo actionPerformed?

teuJButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0){
//acao que vc quer realizar
}
});

agora que vi que vc ja implementou a interface ActionListener.

então acho que falta vc adicionar o jbutton para a actionListener escutar.

seuJButton.addActionListener( this );

seliaj
Mto obrigado…
Funcionou…