Dúvida simples sobre Swing

3 respostas
Jaison

Olá pessoal estou começando a mexer com swing e me deparei com a seguinte situação:

Criei uma janela com 3 jtextfield e um botão, segue a baixo:


Nome: ||
Idade: |
|
Sexo: |
___|

|_incluir_|

Criei uma classe Lista, segue a baixo:

import java.util.LinkedList;
public class Lista {
    
    LinkedList nome = new LinkedList();
    LinkedList idade = new LinkedList();
    LinkedList sexo = new LinkedList();
    
    
    public void inclui(String n, String i, String s){
        System.out.println(nome.add(n));
        System.out.println(idade.add(i));
        System.out.println(sexo.add(s));        
    }
     
}

E criei a minha telaCadastro, com a ação do meu botão INCLUIR, segue abaixo:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
            Lista lista = new Lista();
            lista.inclui(campoNome.getText(),campoIdade.getText(),campoSexo.getText());
                       
    }

Pergunta: Porque que, quando eu clico no botão incluir ele imprime três null um em baixo do outro, se eu to passando o q digitei no jtextfiled?

desculpe a ignorância, é que estou começando com swing,

valeu pela ajuda e abraço!

3 Respostas

cassio

Cara, primeira coisa: Você está alocando memória para a lista com new todo vez que clica no botão. Assim, essa instância da classe Lista só é válida dentro do escopo do evneto do botão. Quando sai desse método, a lista não existe mais!

Outra coisa é que faltou um ActionListener pro evento do botão eu acho… Faça assim

jButton.setBounds(new java.awt.Rectangle(207,103,55,23));
			jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					 lista.inclui(campoNome.getText(),campoIdade.getText(),campoSexo.getText());			
				}
			});

A declaração

Lista lista = new Lista();

Deve ser feita fora do evento do botão, lá no início da classe. Pode ser private mesmo.

Mais um detalhe: Como você está exibindo o conteúdo da lista depois que insere cadastros? Fazendo um for por toda ela?!

Tenta ai!

Abraço!

Jaison

cássio valeu pela dica!!! foi de suma importância!!!

abraço!!!

cassio

Por nada! :smiley:

Criado 20 de junho de 2006
Ultima resposta 20 de jun. de 2006
Respostas 3
Participantes 2