Agenda q nao funciona

Pessoal sou eu dinovo com uma duvida, eu digitei o codigo assim como estava no tutorial, ele compila td certinha porem nao funciona.
Só aparece a tela e o botoes mas eles nao tem funçao nenhuma.
Isso pq eu modifiquei um pouco o codigo original pq o original nem compilar compilava.
Aqui vai o codigo. se alguem puder ajudar eu agradeço.

Agenda.java


/**
	AGENDA Versao Console 2.0
*/
import java.util.*;
import java.io.*;

public class Agenda implements Serializable
{
	Hashtable pessoas;

	//Contrutor
	public Agenda() {pessoas = new Hashtable();}

/**
Inserir
*/

	public void inserir(Pessoa p) {pessoas.put(p.getNome(),p);}

	/**
	Consultar
	*/

	public Pessoa getPessoa(String nome)
	{return (Pessoa) pessoas.get(nome);}

	/**
	Listar
	*/

	public Enumeration getPessoas(){return pessoas.elements();}
}

AgendaInt.java

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;

public class AgendaInt extends FrameX
{	
	Agenda ag;

	TextArea	textArea1	= new TextArea();
	TextField	txtNome		= new TextField();
	TextField	txtEnd		= new TextField();
	TextField	txtTel		= new TextField();
	Button		btCarregar	= new Button();
	Button		btGravar	= new Button();
	Button		brInserir	= new Button();
	Button		btListar	= new Button();
	Button		btConsultar	= new Button();
	Label		label1		= new Label();
	Label		lbStatus	= new Label();
	Label		label2		= new Label();
	Label		label3		= new Label();
	
	public AgendaInt()
	{
		ag = new Agenda();
		
		setLayout(null);
		setBackground(new Color(112,170,192));
		setSize(400,320);
		setVisible(false);
		add(textArea1);
		textArea1.setBackground(Color.white);
		textArea1.setBounds(12,120,372,186);
		btCarregar.setLabel("Carregar");
		add(btCarregar);
		btCarregar.setBackground(Color.lightGray);
		btCarregar.setBounds(12,12,72,24);
		btGravar.setLabel("Gravar");
		add(btGravar);
		btGravar.setBackground(Color.lightGray);
		btGravar.setBounds(84,12,72,24);
		brInserir.setLabel("Inserir");
		add(brInserir);
		brInserir.setBackground(Color.lightGray);
		brInserir.setBounds(156,12,72,24);
		btListar.setLabel("Listar");
		add(btListar);
		btListar.setBackground(Color.lightGray);
		btListar.setBounds(228,12,74,24);
		btConsultar.setLabel("Consultar");
		add(btConsultar);
		btConsultar.setBackground(Color.lightGray);
		btConsultar.setBounds(312,12,72,24);
		add(txtNome);
		txtNome.setBackground(Color.white);
		txtNome.setBounds(60,48,144,24);
		label1.setText("Nome:");
		add(label1);
		label1.setFont(new Font("Serif", Font.BOLD, 12));
		label1.setBounds(12,48,48,24);
		add(lbStatus);
		lbStatus.setBackground(Color.lightGray);
		lbStatus.setForeground(Color.red);
		lbStatus.setBounds(0,300,396,16);
		label2.setText("Telefone");
		add(label2);
		label2.setFont(new Font("Serif", Font.BOLD, 12));
		label2.setBounds(216,48,60,24);
		add(txtTel);
		txtTel.setBackground(Color.white);
		txtTel.setBounds(276,48,108,24);
		label3.setText("Endereço");
		add(label3);
		label3.setFont(new Font("Serif", Font.BOLD, 12));
		label3.setBounds(12,84,48,24);
		add(txtEnd);
		txtEnd.setBackground(Color.white);
		txtEnd.setBounds(17,84,312,24);
		setTitle("Agenda Eletronica");

		// REgista os Listeners
		SymWindow aSymWindow = new SymWindow();
		this.addWindowListener(aSymWindow);
		SymMouse aSymMouse = new SymMouse();
		btGravar.addMouseListener(aSymMouse);
		btCarregar.addMouseListener(aSymMouse);
		btListar.addMouseListener(aSymMouse);
		brInserir.addMouseListener(aSymMouse);
		btConsultar.addMouseListener(aSymMouse);
	}
	
	public AgendaInt(String title)
	{
		this();
		setTitle(title);
	}

	class SymWindow extends WindowAdapter
	{
		public void windowClosing(WindowEvent event)
		{
			Object object = event.getSource();

			if (object == AgendaInt.this)
				AgendaIntAwt_WindowClosing(event);
		}
	}
	
	void AgendaIntAwt_WindowClosing(WindowEvent event)
	{
		setVisible(false);
	}

	class SymMouse extends MouseAdapter
	{
		public void mouseclicked(MouseEvent event)
		{
			Object object = event.getSource();
			if (object  == btGravar)
				btGravar_MouseClicked(event);
			else if (object == btCarregar)
				btCarregar_MouseClicked(event);
			else if (object == btListar)
				btListar_MouseClicked(event);
			else if (object == btConsultar)
				btConsultar_MouseClicked(event);
			else if (object == brInserir)
				brInserir_MouseClicked(event);
		}
	}
	
	void btGravar_MouseClicked(MouseEvent event)
	{
		gravar();
	}
	
	void btCarregar_MouseClicked(MouseEvent event)
	{
		carregar();
	}	
	
	void btListar_MouseClicked(MouseEvent event)
	{
		Exibirlista();
	}	

	void btConsultar_MouseClicked(MouseEvent event)
	{
		String nome = txtNome.getText();
		if (nome.length()>0) exibirPessoa(nome);
		else lbStatus.setText("É necessario preencher o campo Nome!");
	}

	void brInserir_MouseClicked(MouseEvent event)
	{	
		String nome = txtNome.getText();
		String tel = txtTel.getText();
		String end = txtEnd.getText();

		if (nome.length()>0) ag.inserir(new Pessoa(nome,tel,end));
		else lbStatus.setText("É necessario preencher o campo Nome!");
	}

	/**
	gravar
	*/
		

	public void gravar()
	{
		ObjectOutputStream fout;

		try{
			fout = new ObjectOutputStream(
				new FileOutputStream("agenda.dat"));
			fout.writeObject(ag);
			fout.close();
		    }catch(FileNotFoundException e)
		{ System.out.println("Arq. nao encontrado");}
		catch(IOException e) {System.out.println("Erro na gravação!");}
	}
		

	/**
	carregar
	*/
		
	public void carregar()
	{	
		ObjectInputStream fin;
			try{
				fin = new ObjectInputStream(
			new FileInputStream("agenda.dat"));
			ag = (Agenda) fin.readObject();
			fin.close();
			}catch(FileNotFoundException e)
			{System.out.println("Arq. não encontrado!");}
			catch(Exception e) {System.out.println("Erro na Leitura!");}
	}

		/**
			Exibirlista
		*/

		public void Exibirlista()
		{
			Pessoa p;
			textArea1.setText("");
			for (Enumeration e = ag.getPessoas();
		e.hasMoreElements();)
			{
				p =  (Pessoa) e.nextElement();
				textArea1.append("\nNome:"+p.getEnd()+"\n");
			}
	}
	
	//main
	
	public static void main(String args[])
	{
		(new AgendaInt("Agenda")).setVisible(true);
	}
	
	/**
		ExibirPessoa
	*/

	public void exibirPessoa(String nome)
	{
		Pessoa p = ag.getPessoa(nome);
		if (p!=null)
		{
			txtTel.setText(p.getTel());
			txtEnd.setText(p.getEnd());
		}
		else textArea1.setText("Pessoa não cadastrada!");
	}
}

Pessoa.java

/**
	Pessoa
*/
import java.io.*;

public class Pessoa implements Serializable
{
		private String Nome;
		private String Tel;	
		private String End;

	//Contrutor	
	public Pessoa(String n, String t, String e)
	{
		Nome = n; Tel = t; End = e;
	}

	/**
		getNome
	*/
	public String getNome(){return Nome;}

	/**
		getNome
	*/
	public String getTel(){return Tel;}
	/**
	getEnd
	*/
	public String getEnd(){return End;}
}

FrameX.java

import java.awt.*;
import java.awt.event.*;

class FrameX extends Frame implements WindowListener
{
	public FrameX() {this("FrameX");}
	
	public FrameX(String Titulo) 
	{
		super(Titulo);
		addWindowListener(this);
		setSize(100,50);
	}
	
	public void windowOpened(WindowEvent we){}
	public void windowClosed(WindowEvent we){}
	public void windowIconified(WindowEvent we){}
	public void windowDeiconified(WindowEvent we){}
	public void windowActivated(WindowEvent we){}
	public void windowDeactivated(WindowEvent we){}
	public void windowClosing(WindowEvent we)	
	{		
		setVisible(false);
		dispose();
		System.exit(0);
	}
};

Janela.java

import java.awt.*;
public class Janela {
        public static void main(String[] args) {
                Frame f = new Frame();
                f.setSize(200,200);
                f.setLocation(100,100);
                f.setVisible(true);
        }
}