Probleminha.... acho que é com o JTextField

1 resposta
allan_ablaze

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…

1 Resposta

allan_ablaze

PROBLEMA RESOLVIDO…

Criado 9 de junho de 2006
Ultima resposta 9 de jun. de 2006
Respostas 1
Participantes 1