Botão

4 respostas
johnny.drey

Bom dia galera. Nao estou conceguindo terminar meu projeto de faculdade. ainda sou um pouco leigo no assunto. mas meu botão teria que pegar o que eu digitar nos campos, nome, endereço, bairro, fone e gardar em um arquivo txt. Segue codigo para darem um aolhada:

package telefone;
//JOptionp

import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import java.io.OutputStreamWriter;

public class Tela extends JFrame  {


    private JLabel cadastro1;
    private JTextField nome;
    private JLabel nome1;
    private JTextField endereco;
    private JLabel endereco1;
    private JTextField bairro;
    private JLabel bairro1;
    private JLabel fone1;
    private JTextField fone;
    private JButton grava;
    private JButton sair;

    public Tela() {

        // Título do JFrame
        this.setTitle("Cadastro");
        // Fronteiras (posição X e Y, largura e altura)
        this.setBounds(0, 0, 390, 390);
        // Ação padrão ao fechar o JFrame
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        // Definição do tipo de layout
        this.getContentPane().setLayout(null);


        // Construindo o rótulo de CADASTROTELEFONE
        cadastro1 = new JLabel();
        // Setando a descrição do botão
        cadastro1.setText("C A D A S T R O  T E L E F O N E ");
        // Fronteiras (posição X e Y, largura e altura)
        cadastro1.setBounds(80, 5, 500, 30);
        // Adicionando rótulo ao JFrame
        this.add(cadastro1);

        // Construindo o rótulo de texto NOME
         nome1 = new JLabel();
        // Setando a descrição do botão
         nome1.setText("Nome: ");
        // Fronteiras (posição X e Y, largura e altura)
         nome1.setBounds(10, 40, 100, 30);
        // Adicionando rótulo ao JFrame
         this.add(nome1);

        // Construindo o campo de texto NOME
        nome = new JTextField();
        // Fronteiras (posição X e Y, largura e altura)
        nome.setBounds(50, 40, 220, 25);
        // Adicionando campo ao JFrame
        this.add(nome);

        // Construindo o rótulo de texto ENDEREÇO
        endereco1 = new JLabel();
        // Setando a descrição do botão
        endereco1.setText("Endereço: ");
        // Fronteiras (posição X e Y, largura e altura)
        endereco1.setBounds(10, 70, 100, 30);
        // Adicionando rótulo ao JFrame
        this.add(endereco1);

        // Construindo o campo de texto ENDEREÇO
        endereco = new JTextField();
        // Fronteiras (posição X e Y, largura e altura)
        endereco.setBounds(70, 70, 200, 25);
        // Adicionando campo ao JFrame
        this.add(endereco);

        // Construindo o rótulo de texto BAIRRO
        bairro1 = new JLabel();
        // Setando a descrição do botão
        bairro1.setText("Bairro: ");
        // Fronteiras (posição X e Y, largura e altura)
        bairro1.setBounds(10, 100, 100, 30);
        // Adicionando rótulo ao JFrame
        this.add(bairro1);

        // Construindo o campo de texto BAIRRO
        bairro = new JTextField();
        // Fronteiras (posição X e Y, largura e altura)
        bairro.setBounds(70, 100, 200, 25);
        // Adicionando campo ao JFrame
        this.add(bairro);

        // Construindo o rótulo de texto FONE
        fone1 = new JLabel();
        // Setando a descrição do botão
        fone1.setText("Fone: ");
        // Fronteiras (posição X e Y, largura e altura)
        fone1.setBounds(10, 130, 100, 30);
        // Adicionando rótulo ao JFrame
        this.add(fone1);

        // Construindo o campo de texto FONE
        fone = new JTextField();
        // Fronteiras (posição X e Y, largura e altura)
        fone.setBounds(70, 130, 200, 25);
        // Adicionando campo ao JFrame
        this.add(fone);

        // Construindo o botão
        grava = new JButton();
        // Setando a descrição do botão
        grava.setText("Gravar");
        // Fronteiras (posição X e Y, largura e altura)
        grava.setBounds(70, 170, 100, 25);
        // Adicionando botão
        this.add(grava);

        // Construindo o botão
        sair = new JButton();
        // Setando a descrição do botão
        sair.setText("Sair");
        // Fronteiras (posição X e Y, largura e altura)
        sair.setBounds(70, 210, 100, 25);
        // Adicionando botão
        this.add(sair);


        // Adicionando um evento action ao botão GRAVA
        grava.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent evt){
        Cadastro cadastro1 = new Cadastro(nome.getText(), fone.getText(), endereco.getText(), bairro.getText());
        List<Cadastro> lista = new ArrayList<Cadastro>();
        lista.add(cadastro1);
        }
        });

        // Adicionando um evento action ao botão SAIR
        sair.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent evt){
                
            try {
                PrintWriter out = new PrintWriter("c:\\saida.txt");
                    out.print(cadastro1 + "Johnny");
                    out.flush();
                    out.close();
                   // OutputStream os = new FileOutputStream("c:\\saida.txt");
                   // OutputStreamWriter = cadastro1;
                } catch (FileNotFoundException ex) {
                    
                }
          }
        });
}

}

4 Respostas

A

cara,

vc pode fazer assim

sair.addActionListener(new ActionListener() {  
        public void actionPerformed(ActionEvent evt){  
            PrintWriter out = null; 
            try {  
                PrintWriter out = new PrintWriter("c:\\saida.txt");  
                for(Cadastro cadastro : lista){
					out.println(cadastro.getNome()+";"+cadastro.getFone()+";"+cadastro.getEndereco()+";"+cadastro.getBairro());
				}   
                } catch (FileNotFoundException ex) {  
                    ex.printStackTrace();
                }  finally {
                     if(out != null){
						out.flush();  
						out.close(); 
					}
                }
          }  
        });

sua lista deve ser atributo da sua classe.

t+

johnny.drey

alissonvla:
cara,

vc pode fazer assim

sair.addActionListener(new ActionListener() {  
        public void actionPerformed(ActionEvent evt){  
            PrintWriter out = null; 
            try {  
                PrintWriter out = new PrintWriter("c:\\saida.txt");  
                for(Cadastro cadastro : lista){
					out.println(cadastro.getNome()+";"+cadastro.getFone()+";"+cadastro.getEndereco()+";"+cadastro.getBairro());
				}   
                } catch (FileNotFoundException ex) {  
                    ex.printStackTrace();
                }  finally {
                     if(out != null){
						out.flush();  
						out.close(); 
					}
                }
          }  
        });

sua lista deve ser atributo da sua classe.

t+

Amigo, não entendi bem o que me colocou, mas ao copiar e colar deu 3 erros. Concegue me explicar isso mais detalhadamente?

Compiling 3 source files to C:\Users\johnny.PRADONUTRI\Documents\NetBeansProjects\telefone(bkp)\build\classes

C:\Users\johnny.PRADONUTRI\Documents\NetBeansProjects\telefone(bkp)\src\telefone\Tela.java:142: out is already defined in actionPerformed(java.awt.event.ActionEvent)

PrintWriter out = new PrintWriter(c:\saida.txt);

C:\Users\johnny.PRADONUTRI\Documents\NetBeansProjects\telefone(bkp)\src\telefone\Tela.java:143: cannot find symbol

symbol: variable lista

for(Cadastro cadastro : lista){

2 errors

C:\Users\johnny.PRADONUTRI\Documents\NetBeansProjects\telefone(bkp)\nbproject\build-impl.xml:603: The following error occurred while executing this line:

C:\Users\johnny.PRADONUTRI\Documents\NetBeansProjects\telefone(bkp)\nbproject\build-impl.xml:284: Compile failed; see the compiler error output for details.

FALHA NA CONSTRUÇÃO (tempo total: 1 segundo)
A

segue,

public class Tela extends JFrame  {  
  
  
    private JLabel cadastro1;  
    private JTextField nome;  
    private JLabel nome1;  
    private JTextField endereco;  
    private JLabel endereco1;  
    private JTextField bairro;  
    private JLabel bairro1;  
    private JLabel fone1;  
    private JTextField fone;  
    private JButton grava;  
    private JButton sair;  
    private List<Cadastro> lista;
  
    public Tela() {  

   lista = ArrayList<Cadastro>();

sair.addActionListener(new ActionListener() {  
        public void actionPerformed(ActionEvent evt){  
            PrintWriter out = null; 
            try {  
                out = new PrintWriter("c:\\saida.txt");  
                for(Cadastro cadastro : lista){
					out.println(cadastro.getNome()+";"+cadastro.getFone()+";"+cadastro.getEndereco()+";"+cadastro.getBairro());
				}   
                } catch (FileNotFoundException ex) {  
                    ex.printStackTrace();
                }  finally {
                     if(out != null){
						out.flush();  
						out.close(); 
					}
                }
          }  
        });

t+

A

cara,

segui seu codigo

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Tela extends JFrame {

	private JLabel cadastro1;
	private JTextField nome;
	private JLabel nome1;
	private JTextField endereco;
	private JLabel endereco1;
	private JTextField bairro;
	private JLabel bairro1;
	private JLabel fone1;
	private JTextField fone;
	private JButton grava;
	private JButton sair;
	private List<Cadastro> lista;

	public Tela() {
		this.lista = new ArrayList<Cadastro>();
		
		// Título do JFrame
		this.setTitle("Cadastro");
		// Fronteiras (posição X e Y, largura e altura)
		this.setBounds(0, 0, 390, 390);
		// Ação padrão ao fechar o JFrame
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		// Definição do tipo de layout
		this.getContentPane().setLayout(null);

		// Construindo o rótulo de CADASTROTELEFONE
		cadastro1 = new JLabel();
		// Setando a descrição do botão
		cadastro1.setText("C A D A S T R O  T E L E F O N E ");
		// Fronteiras (posição X e Y, largura e altura)
		cadastro1.setBounds(80, 5, 500, 30);
		// Adicionando rótulo ao JFrame
		this.add(cadastro1);

		// Construindo o rótulo de texto NOME
		nome1 = new JLabel();
		// Setando a descrição do botão
		nome1.setText("Nome: ");
		// Fronteiras (posição X e Y, largura e altura)
		nome1.setBounds(10, 40, 100, 30);
		// Adicionando rótulo ao JFrame
		this.add(nome1);

		// Construindo o campo de texto NOME
		nome = new JTextField();
		// Fronteiras (posição X e Y, largura e altura)
		nome.setBounds(50, 40, 220, 25);
		// Adicionando campo ao JFrame
		this.add(nome);

		// Construindo o rótulo de texto ENDEREÇO
		endereco1 = new JLabel();
		// Setando a descrição do botão
		endereco1.setText("Endereço: ");
		// Fronteiras (posição X e Y, largura e altura)
		endereco1.setBounds(10, 70, 100, 30);
		// Adicionando rótulo ao JFrame
		this.add(endereco1);

		// Construindo o campo de texto ENDEREÇO
		endereco = new JTextField();
		// Fronteiras (posição X e Y, largura e altura)
		endereco.setBounds(70, 70, 200, 25);
		// Adicionando campo ao JFrame
		this.add(endereco);

		// Construindo o rótulo de texto BAIRRO
		bairro1 = new JLabel();
		// Setando a descrição do botão
		bairro1.setText("Bairro: ");
		// Fronteiras (posição X e Y, largura e altura)
		bairro1.setBounds(10, 100, 100, 30);
		// Adicionando rótulo ao JFrame
		this.add(bairro1);

		// Construindo o campo de texto BAIRRO
		bairro = new JTextField();
		// Fronteiras (posição X e Y, largura e altura)
		bairro.setBounds(70, 100, 200, 25);
		// Adicionando campo ao JFrame
		this.add(bairro);

		// Construindo o rótulo de texto FONE
		fone1 = new JLabel();
		// Setando a descrição do botão
		fone1.setText("Fone: ");
		// Fronteiras (posição X e Y, largura e altura)
		fone1.setBounds(10, 130, 100, 30);
		// Adicionando rótulo ao JFrame
		this.add(fone1);

		// Construindo o campo de texto FONE
		fone = new JTextField();
		// Fronteiras (posição X e Y, largura e altura)
		fone.setBounds(70, 130, 200, 25);
		// Adicionando campo ao JFrame
		this.add(fone);

		// Construindo o botão
		grava = new JButton();
		// Setando a descrição do botão
		grava.setText("Gravar");
		// Fronteiras (posição X e Y, largura e altura)
		grava.setBounds(70, 170, 100, 25);
		// Adicionando botão
		this.add(grava);

		// Construindo o botão
		sair = new JButton();
		// Setando a descrição do botão
		sair.setText("Sair");
		// Fronteiras (posição X e Y, largura e altura)
		sair.setBounds(70, 210, 100, 25);
		// Adicionando botão
		this.add(sair);

		// Adicionando um evento action ao botão
		grava.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				Cadastro cadastro1 = new Cadastro(nome.getText(), fone.getText(), endereco.getText(), bairro.getText());

				lista.add(cadastro1);
			}
		});

		sair.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				PrintWriter out = null;
				try {
					out = new PrintWriter("c:\\teste\\saida.txt");
					for (Cadastro cadastro : lista) {
						out.println(cadastro.getNome() + ";"
								+ cadastro.getFone() + ";"
								+ cadastro.getEndereco() + ";"
								+ cadastro.getBairro());
					}
				} catch (FileNotFoundException ex) {
					ex.printStackTrace();
				} finally {
					if (out != null) {
						out.flush();
						out.close();
					}
				}
			}
		});
		
		this.setVisible(true);
	}
	
	public static void main(String[] args){
		new Tela();
	}

}

t+

Criado 24 de outubro de 2011
Ultima resposta 24 de out. de 2011
Respostas 4
Participantes 2