Probleminha.... acho que é com o JTextField

Veja o seguinte codigo…

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class CadastroFuncionario extends JFrame {

private JPanel container, titulo, barraControle;

private int IdEmpresa;

private JLabel labelTop;

private JTextField apelido, nomeCompleto, funcao, setor, RG, CPF, tipoSang,
        RH, CNH, dataNasc, dataAdms;

public CadastroFuncionario(int IdEmpresa) {
    super("Cadastro de Funcionário");
    this.IdEmpresa = IdEmpresa;
    makeFrame();
}

private void makeFrame() {

    titulo = new JPanel();
    titulo.setLayout(new FlowLayout(FlowLayout.CENTER));

    container = new JPanel();
    container.setLayout(new GridLayout(11, 0, 5, 5));

    barraControle = new JPanel();
    barraControle.setLayout(new GridLayout(1, 5, 5, 5));

    add(BorderLayout.NORTH, titulo);
    add(BorderLayout.CENTER, container);
    add(BorderLayout.SOUTH, barraControle);

    labelTop = new JLabel("Cadastro do Funcionário da Empresa "+"toString(IdEmpresa)");
    labelTop.setFont(new Font("Helvetica", Font.BOLD, 16));
    labelTop.setForeground(Color.ORANGE);
    titulo.setBackground(Color.DARK_GRAY);
    titulo.add(labelTop);

    addControle(barraControle);

    addCampo(container, "Nome Usual:", apelido);
    addCampo(container, "Nome Completo:", nomeCompleto);
    addCampo(container, "Função:", funcao);
    addCampo(container, "Setor:", setor);
    addCampo(container, "RG:", RG);
    addCampo(container, "CPF:", CPF);
    addCampo(container, "Tipo Sangüineo:", tipoSang);
    addCampo(container, "Fator RH:", RH);
    addCampo(container, "CNH:", CNH);
    addCampo(container, "Data de Nascimento:", dataNasc);
    addCampo(container, "Data de Admissão:", dataAdms);

    setSize(500, 400);
    setVisible(true);
    setLocationRelativeTo(null);

}

public void addCampo(Container panel, String campo, JTextField nome) {
    JLabel labelCampo = new JLabel(campo);
    JTextField fieldCampo = new JTextField();
    labelCampo.setFont(new Font("Helvetica", Font.PLAIN, 13));
    panel.add(labelCampo);
    panel.add(fieldCampo);
    

}

private void addControle(JPanel barra) {
    ImageIcon btCancelar = new ImageIcon("cancelar.jpg");
    ImageIcon btSalvar = new ImageIcon("salvar.jpg");
    JButton salvar = new JButton("Salvar", btSalvar);
    JButton cancelar = new JButton("Cancelar", btCancelar);

    cancelar.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            System.exit(0);
        }
    });

    salvar.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            salvarDados();
        }
    });

    barra.add(salvar);
    barra.add(cancelar);

}

[color=blue] private void salvarDados() {
Funcionario funcionario = new Funcionario();
funcionario.setApelido(apelido.getText());
System.out.println("resultado: " + funcionario.getApelido());

}[/color]

}

A principio no nao da erro nenhum… compila certinho…
Mas qndo eu chamo o metodo salvarDados, em vez de aparecer no console o que eu digitei no TextField, aparece o seguinte…

[color=red]
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at CadastroFuncionario.salvarDados(CadastroFuncionario.java:113)
at CadastroFuncionario.access$0(CadastroFuncionario.java:111)
at CadastroFuncionario$2.actionPerformed(CadastroFuncionario.java:102)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

[/color]

sera que alguem pode me ajudar a resolver isso…

PROBLEMA RESOLVIDO…