Strings de outra classe

Pessoal estou com um problema, estava tentando fazer uma agenda de telefones, porem ao pegar uma String de uma classe A para apresentar na B, ela fica NULL, se eu apresentar a String dentro da classe A, fica normal, mais se for dentro da classe B fica NULL.

Como podem ver ao clicar em GRAVAR na classe adicionar, ele pega os que esta dento do JTEXTFIELD e coloca nas variaveis, ai quando vou abrir esta variavel na classe agenda ela aparece NULL

entao sera que alguem poderia me ajudar a solucionar este problema, para que eu possa apresentar certo na classe agenda ?

package Agenda;

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JTextField;



public class Adicionar extends JFrame {

	String nom, tel, end, sex;
	
	JLabel t_nome, t_telefone, t_endereco, t_sexo;
	JTextField nome, telefone, endereco;
	JRadioButton sexo_m, sexo_f;
	JButton gravar,voltar,sair;
	
	
	public Adicionar() {
		// TODO Auto-generated constructor stub
		
		super("AGENDA");
		
		
		
		getContentPane().setLayout(null);
		
		
		CapturaEvento handler = new CapturaEvento();
		
		
		
		
		t_nome = new JLabel("Nome: ");
		t_nome.setBounds(20,20,100,15);
		
		nome = new JTextField();
		nome.setBounds(20,40,300,25);
		
		
		t_telefone = new JLabel("Telefone: ");
		t_telefone.setBounds(20,80,100,15);
		
		telefone = new JTextField();
		telefone.setBounds(20,100,300,25);
		
		
		t_endereco = new JLabel("Endereço: ");
		t_endereco.setBounds(20,140,100,15);
		
		endereco = new JTextField();
		endereco.setBounds(20,160,300,25);
		
		
		t_sexo = new JLabel("Sexo: ");
		t_sexo.setBounds(20,200,100,25);
		
		sexo_m = new JRadioButton("Masculino");
		sexo_m.setBounds(20,220,300,25);
		sexo_m.setToolTipText("Marque para sexo MASCULINO");
		sexo_m.addActionListener(handler);
		
		
		sexo_f = new JRadioButton("Feminino");
		sexo_f.setBounds(20,240,300,25);
		
		
		gravar = new JButton("GRAVAR");
		gravar.setBounds(20,280,100,25);
		gravar.setToolTipText("Clique aqui para GRAVAR");
		gravar.addActionListener(handler);//registro do evento
		
		
		voltar = new JButton("VOLTAR");
		voltar.setBounds(120,280,100,25);
		voltar.setToolTipText("Clique aqui para VOLTAR");
		voltar.addActionListener(handler);//registro do evento
		
		
		sair = new JButton("SAIR");
		sair.setBounds(220,280,100,25);
		sair.setToolTipText("Clique aqui para SAIR");
		sair.addActionListener(handler);//registro do evento
		
		
		
		
		
		add(sexo_m);add(sexo_f);add(t_endereco);add(t_nome);add(t_sexo);add(t_telefone);
		add(nome);add(telefone);add(endereco);add(gravar);add(voltar);add(sair);
		
		
		
		
		
	}
	
	
	private class CapturaEvento extends KeyAdapter implements ActionListener{
		//método que trata o evento dos botoes 
		public void actionPerformed(ActionEvent e) {			
			Codigos c = new Codigos();
		
			if(e.getSource() ==  sair){
				System.exit(0);			
			}
			
			if(e.getSource() ==  voltar){
				
				
				c.agenda(0);
				setVisible(false);
				
			}
			
			if(e.getSource() ==  gravar){
				
		
				
				if(sexo_f.isSelected() == true){
					sex = "FEMININO";
				}else{
					sex = "MASCULINO";
				}
				
/*guardo as Strings nessas variaveis */
				nom = nome.getText().toUpperCase();
				tel = telefone.getText().toUpperCase();
				end = endereco.getText().toUpperCase();
				
				System.out.print("Nome: " + nom + "\n");
				System.out.print("Tel: " + tel + "\n");
				System.out.print("End: " + end + "\n");
				System.out.print("Sexo: " + sex + "\n");
				
				c.agenda(1);
				setVisible(false);
				}
			}
		}
	
	
	
}
package Agenda;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.ScrollPaneConstants;


public class Agenda extends JFrame {

	
	Adicionar a = new Adicionar();
	Codigos c = new Codigos();
	
	JLabel bem_vindo , agenda;
	JButton adicionar , pesquisar , excluir , sair, limpar_tela , exibir_todos ;
	//JTextField visor;
	JTextArea visor;
	JScrollPane visor_2;
	
	public Agenda(int trava){
		
		super("AGENDA");
		
		getContentPane().setLayout(null);
		
		
		CapturaEvento handler = new CapturaEvento();
		
		bem_vindo = new JLabel("BEM VINDO");
		bem_vindo.setBounds(50,10, 150, 30);
		bem_vindo.setFont(new Font("Arial", Font.BOLD, 20));
		
		agenda = new JLabel("Agenda");
		agenda.setBounds(50,50, 150, 30);
		agenda.setFont(new Font("Arial", Font.BOLD, 15));
		
		adicionar = new JButton("Adicionar");
		adicionar.setBounds(50,100, 100, 30);
		adicionar.addActionListener(handler);//registro do evento
		
		pesquisar = new JButton("Pesquisar");
		pesquisar.setBounds(190,100, 100, 30);
		
		exibir_todos = new JButton("Contatos");
		exibir_todos.setBounds(330,100, 100, 30);
		
		excluir = new JButton("Excluir");
		excluir.setBounds(470,100, 100, 30);
		excluir.setToolTipText("Clique aqui para EXCLUIR");
		excluir.addActionListener(handler);//registro do evento
		
		
		limpar_tela = new JButton("Limpar Tela");
		limpar_tela.setBounds(50,410, 130, 30);
		limpar_tela.setToolTipText("Clique aqui para limpar a Tela");
		limpar_tela.addActionListener(handler);//registro do evento
		
		sair = new JButton("Sair");
		sair.setBounds(470,410, 100, 30);
		sair.setToolTipText("Clique aqui para SAIR");
		sair.addActionListener(handler);//registro do evento
		
		
		visor = new JTextArea();
		//visor.setBounds(100,150, 420, 250);
		//visor.setEditable(false);
		
		visor_2 = new JScrollPane(visor);
		//visor_2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); 
		visor_2.setBounds(50,150, 520, 250);
		//visor_2.setToolTipText(visor)
		//visor_2.setEditable(false);
		
		
		
		add(adicionar); add(pesquisar); add(excluir); add(sair); add(bem_vindo); add(agenda); //add(visor);
		add(limpar_tela); add(exibir_todos);add(visor_2);
		



/*a classe adicionar retorna 1 para o construtor entao ele cai nesse if para apresentar
porem ao apresentar no campo as variaveis aparecem NULL*/
		if(trava == 1){
			
			visor.setText("Nome: " + a.nom +
					"\nTel: " + a.tel +
					"\nEnd: " + a.end +
					"\nSexo: " + a.sex
					);
			
		}
		
		
	}
	
	
	
	
	
	
	
	private class CapturaEvento extends KeyAdapter implements ActionListener{
		//método que trata o evento dos botoes 
		public void actionPerformed(ActionEvent e) {			
			
		
			if(e.getSource() ==  sair){
				System.exit(0);			
			}
			
			if(e.getSource() ==  limpar_tela){
				String add = "";
				visor.setText(add);
				
			}
			
			if(e.getSource() ==  adicionar){
				
				
			c.adicionar();
			setVisible(false);
				
				
	 		}
			
			if(e.getSource() ==  excluir){
				String add = "TESTE \n";
				visor.setText(visor.getText() + add);
			}
			
			
		}

		
	
	}
	
	
	
}
package Agenda;

import java.awt.Color;

import javax.swing.JFrame;

public class Codigos {
	
	public void agenda(int trava){
		Agenda a = new Agenda(trava);
		
		a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		a.pack();
		a.setLocationRelativeTo(null);	//posiciona a janela
		a.setResizable(false);	    	//a janela não pode ser redimensionada
		a.setBackground(Color.gray);	 	// cor de fundo da janela
		a.setSize(640,480);				//dimensao da janela
		a.setVisible(true);				//torna a janela visível
		
	}

	void login(){
		Login l = new Login();
		
		l.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		l.setLocationRelativeTo(null);	//posiciona a janela
		l.setResizable(false);	    	//a janela não pode ser redimensionada
		l.setBackground(Color.gray);	 	// cor de fundo da janela	
		l.setSize(280,180);				//dimensao da janela
		l.setVisible(true);
		
	}
	
	void adicionar(){
		Adicionar a = new Adicionar();
		
		a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		a.setLocationRelativeTo(null);	//posiciona a janela
		a.setResizable(false);	    	//a janela não pode ser redimensionada
		a.setBackground(Color.gray);	 	// cor de fundo da janela	
		a.setSize(340,350);				//dimensao da janela
		a.setVisible(true);				//torna a janela visível
		
	}
	
	
}

Em momento nenhum vc transporta os dados de uma janela para outra. Leia esse tópico: