Nao consigo cadastrar nomes no meu programa

2 respostas
E

pessoal se puderem me ajudar, nao consigo cadastrar e nem visualizar o nome digitado neste programa e qdo clico em pesquisar o nome procurado nao aparece tb. isso é so o começo pq preciso dar as funçoes a cada botao desse programa, sou iniciante e se puderem ver o q tem de errado agradeço.

import java.awt.Container;

import java.awt.event.ActionEvent;

import java.awt.event.<em>;

import java.util.ArrayList;

import java.util.Iterator;

import javax.swing.</em>;

import javax.swing.border.*;
public class Exercicio extends JFrame implements ActionListener{

private JTextField txt_nome, txt_idade;

private JButton B1, B2, B3, B4, B5, B6, B7;

private JLabel L1, L2;

public ArrayList Lista;
// Criaçao do conteiner	

public Exercicio() {

super(Cadastro de pessoas);

Container c= this.getContentPane();//getContentPane().setLayout(null);

c.setLayout(null); // 2 sem isso
// Criaçao das caixas de texto do conteiner

L1= new JLabel(Nome);

L1.setBounds(10,5,40,20);

//getContentPane().add(L1);

c.add(L1);

txt_nome= new JTextField();

txt_nome.setBounds(62,5, 80, 20);

//getContentPane().add(txt_nome);

c.add(txt_nome);
L2= new JLabel("Idade");
            	L2.setBounds(220,5,50,20);
            	c.add(L2);

            	txt_idade=new JTextField("");
            	txt_idade.setBounds(255,5,30,20);
            	c.add(txt_idade);


            	B1= new JButton ("Cadastrar");
            	B1.setBounds(10,40,110,20);
            	B1.addActionListener(this);
            	//getContentPane().add(B1);
            	c.add(B1);                	
            	ArrayList Lista = new ArrayList();	
            	
            	B2= new JButton ("Pesquisar");
            	B2.setBounds(130,40,110,20);
            	B2.addActionListener(this);
            	c.add(B2);
            	
            	B3= new JButton ("Primeiro");
            	B3.setBounds(10,70,110,20);
            	B3.addActionListener(this);
            	c.add(B3);
            	
            	B4= new JButton ("Proximo");
            	B4.setBounds(130,70,110,20);
            	B4.addActionListener(this);
            	c.add(B4);
            	
            	B5= new JButton ("Anterior");
            	B5.setBounds(250,70,110,20);
            	B5.addActionListener(this);
            	c.add(B5);
            	
            	B6= new JButton ("Ultimo");
            	B6.setBounds(370,70,110,20);
            	B6.addActionListener(this);
            	c.add(B6);             	
            	               	
            	                	
            	setSize(600,400);
            	setVisible(true);
				setDefaultCloseOperation(3);					
    } //Fim da classe
            
            // Trata as açoes
                public void actionPerformed(ActionEvent ev){
                	if(ev.getSource()==B1)// Verifica se é o botao
                		cadastrar(); // se for chama a funcao cadastrar
                	else if(ev.getSource()==B2)
                	    pesquisar();
       }
            
            //Metodo cadastro
                public void cadastrar(){
                	Lista.add(txt_nome.getText());//iclui no array e captura o texto
                	//txt_nome.setText(null);//limpa o espaço anterior
                	//txt_nome.requestFocus();//Retorna ao foco
                	JOptionPane.showMessageDialog(this, "txt_nome");// Apresenta o nome cadastrado
                }
                
                public void pesquisar(){
                	String p= JOptionPane.showInputDialog(this,"Digite o nome a pesquisar");
                	Iterator I= Lista.iterator();
                	while(I.hasNext()){
                		String aux= (String) I.next();
                		if(aux.equals(p)){
                			txt_nome.setText(aux);
                			p=null;
                			break;
                		}
                	}
                }  	

 public static void main(String args[]){
	new Exercicio();
	Exercicio app = new Exercicio();

      app.addWindowListener(

         new WindowAdapter(){

            public void windowClosing(WindowEvent e){

               System.exit(0);

            }

         }

      );


 }//Fim da main

}//Fim do construtor

2 Respostas

luuu
public void cadastrar(){ 
    Lista.add(txt_nome.getText());//iclui no array e captura o texto 
    //txt_nome.setText(null);//limpa o espaço anterior 
    //txt_nome.requestFocus();//Retorna ao foco 
    JOptionPane.showMessageDialog(this, "txt_nome");// Apresenta o nome cadastrado 
}

voce nao esta inicializando a variavel “Lista” .
No construtor voce declarou uma nova variavel Lista , assim ela nao existe para o metodo cadastrar.

No contrutor faça o seguinte

Lista = new ArrayList();

tira o ArrayList Lista = new ArrayList();

E

cara valeu mesmo nao estava vendo esse erro. agora tenho q ver os outros q nao ta facil fazer.

Criado 1 de setembro de 2007
Ultima resposta 2 de set. de 2007
Respostas 2
Participantes 2