gostaria de saber como executar o codigo em java que está abaixo.
usando eclipse e netbeans.
[code]package example02Swing;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Observable;
import java.util.Observer;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import example01.ObjectIO;
import example01.Pessoa;
public class Tela extends JFrame implements Observer
{
private static final long serialVersionUID = 1L;
private int largura;
private int altura;
private int larguraTela;
private int alturaTela;
private Pessoa listaPessoas[];
private JTextField textTelefone;
private JTextField textEndereco;
private JTextField textNome;
private String filename;
private Thread processo;
/**
* Construtor da classe Tela
*/
public Tela()
{
super("Cadastro de clientes");
inicializarVariaveis();
}
/**
* Metodo responsavel por inicializar as variaveis
*/
private void inicializarVariaveis()
{
largura = 1024;
altura = 768;
larguraTela = 640;
alturaTela = 480;
listaPessoas = new Pessoa[40];
textTelefone = new JTextField(10);
textEndereco = new JTextField(10);
textNome = new JTextField(10);
filename = "Usuarios.ser";
}
/**
* Metodo que inicia componentes da tela
*/
protected void iniciarComponentes()
{
setSize(larguraTela, alturaTela);
Container contentPane = getContentPane();
contentPane.setLayout(new GridLayout(4,1));
JLabel labelNome = new JLabel("Nome: ");
JLabel labelEndereco = new JLabel("Endereço: ");
JLabel labelTelefone = new JLabel("Telefone: ");
JButton btCadastrar = new JButton("Cadastrar");
JButton btAtualizar = new JButton("Visualizar");
btAtualizar.setSize(10, 10);
labelNome.setHorizontalAlignment(JTextField.RIGHT);
labelEndereco.setHorizontalAlignment(JTextField.RIGHT);
labelTelefone.setHorizontalAlignment(JTextField.RIGHT);
btCadastrar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
Pessoa p1 = new Pessoa(textNome.getText(),
textEndereco.getText(),
textTelefone.getText());
listaPessoas[pessoasLength()] = p1;
ObjectIO.writeSerializableObject(listaPessoas, filename);
}
catch (IOException e1)
{
e1.printStackTrace();
}
}
});
btAtualizar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
executaProcesso();
}
});
contentPane.add(labelNome);
contentPane.add(textNome);
contentPane.add(labelEndereco);
contentPane.add(textEndereco);
contentPane.add(labelTelefone);
contentPane.add(textTelefone);
contentPane.add(btCadastrar);
contentPane.add(btAtualizar);
pack();
setLocation(new Point(((largura-250)/2), ((altura-200)/2)));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
/**
* Metodo que cria um processo e o inicia, caso esteja null
*/
public void executaProcesso()
{
if(processo == null)
{
processo = new Thread(new Gravar(this, filename));
processo.start();
}
else
{
System.out.println("O processo ainda está em execução");
}
}
/**
* Metodo responsável por contabilizar o dados no arquivo
* @return retorna a quantidade de objetos do Pessoa que estão no arquivo
*/
protected int pessoasLength()
{
Pessoa vetor[];
Pessoa p1;
int cont = 0;
try
{
vetor = (Pessoa[]) ObjectIO.readSerializableObject(filename);
for (int i = 0; i < vetor.length; i++)
{
p1 = vetor[i];
if(p1 != null)
{
cont++;
listaPessoas[i] = p1;
}
else
{
break;
}
}
}
catch (Exception e)
{
return 0;
}
return cont;
}
/**
* Metodo que é notificado para mostrar itens do arquivo na Console
*
* @param observable - classe observada
* @param data - dados vindos de um arquivo
*/
public void update(Observable observable, Object data)
{
Pessoa p[] = ((Pessoa[]) data);
Pessoa p1;
for (int i = 0; i < p.length; i++)
{
p1 = p[i];
if(p1 != null)
{
System.out.println(p1);
}
else
{
System.out.println("---------------------------------------------");
break;
}
}
}
public static void main(String[] args)
{
new Tela().iniciarComponentes();
}
}[/code]