Evento do botão nao se repete

Estou montando uma aplicação onde pego o codigo e a quantidade do produto, é feito a soma, taxa de 10%, e quantidade a quantidade mais vendida tudo isso sem base de dados, toda informação de preço, nome etc tudo esta embutido no código. O problema é que ao adicionar um item clicando com o botão, o próximo item a ser inserido já cai direto na exceção. Não consigo inserir mais de um item na lista de objetos que criei.
Debuguei o codigo mas caio em classes q não tem nada a ver com o projeto que estou montando, acusa erro em uma classe de conexão, mas como disse não estou utilizando base de dados nenhuma.
Se alguém puder ajudar. vou postar o código pra ficar mais fácil o entendimento.
valeu

    private void jButton_adicionaActionPerformed(java.awt.event.ActionEvent evt) {                                                 
        // TODO add your handling code here:
        
            
        double soma = 0;
        double taxa10 = 0;
        double preco = 0;
       
        
        try {


            int cod = Integer.valueOf(jTextField_cod.getText());
            int qnt = Integer.valueOf(jTextField_quant.getText());

            //pega o codigo e quantidade
            Produto item = new Produto(cod, qnt);


            //pega o preco atraves do codigo
            preco = item.searchValue(cod);

            Calculos c = new Calculos(qnt, preco);

            //faz a somátoria
            soma = c.sum(qnt, preco);

            //pega o valor da porcentagem
            taxa10 = c.teenPorcent(soma);

            //Cria um Array com os dados
            DadosNaLista dados = new DadosNaLista(cod, qnt, preco, soma, taxa10);

            //instacia o array
            ArrayList<DadosNaLista> l = new ArrayList<DadosNaLista>();

            //adiciona os dados na lista
            if (l.add(dados)) {
                JOptionPane.showMessageDialog(rootPane, "Adicionado");
            }

            jTextArea_text.setText(dados.getPreco() + " X " + dados.getQuant() + " R$ " + dados.getSoma());

            jTextField_cod.setText(" ");
            jTextField_quant.setText(" ");


            System.out.println(dados.getCod());
            System.out.println(dados.getQuant());
            System.out.println(dados.getPreco());
            System.out.println(dados.getSoma());
            System.out.println(dados.getTaxa());


        } catch (Exception e) {
            JOptionPane.showMessageDialog(rootPane, "CAMPOS EM BRANCO");
        }

    
    }  

getPreco() tá recebendo uma String? Caso não, coloca o toString(). Não sei se o problema é esse, mas daqui tá parecendo que a lista não tá recebendo String para poder adicionar no array.

cyruzin não está recebendo uma String não.
preco é variavel do tipo double e estou setando esse valor no TextArea.
na linha 38 estou adicionando os dados dentro da lista.

Seria uma boa vc imprimir a exceção, nem que seja no e.printStackTrace().

Assim vc saberia que linha exatamente está dando erro, e que erro.