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…