InterfaceGráfica/Classe

To com um pequeno probleminha…
veja o codigo…

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Event;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

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 JLabel labelTop, nome;

public CadastroFuncionario() {
    super("Cadastro de Funcionário");
    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 tal");
    labelTop.setFont(new Font("Helvetica", Font.BOLD, 16));
    labelTop.setForeground(Color.ORANGE);
    titulo.setBackground(Color.DARK_GRAY);
    titulo.add(labelTop);

    addControle(barraControle);

    [color=red]addCampo(container, "Nome Usual:", "apelido");[/color]
    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);

}

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

}[/color]

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=red]private void salvarDados() {
    Funcionario funcionario = new Funcionario();
    funcionario.setApelido(*****);// Qual é o nome do JTextField correspondente????
}[/color]

}

Resolvi fazer um método para criar os campos e os labels correspondentes e coloca-los no panel (addCampo), mas quando eu preciso mandar os dados de cada campo para outra classe (Funcionario funcionario), qual é o nome de cada JTextField para que eu possa mandar o getApelido do JTextField por exemplo para funcionario.setApelido???

O allan_blaze, eu não gosto muito desse esquema de deixar um étodo criar os componentes justamente por que acabamos caindo nesse seu problema: Depois não conseguimos uma forma prática, agil e trivial para acessar cada um dos JTextFields, por exemplo. Eu, particularmente, prefiro criar uma variável para cada JTextField que tenha um nome mnemônico, ou então criar um array de JTextFields e constantes int com nomes mnemônicos para indexar os JTextFields nesse array.
Mas deixando o que eu acho de lado, acho que uma alternativa seria vc criar uma função que varresse os componentes inseridos dentro do seu JFrame atrás do JTextField com o nome apropriado. Alterei um pouco seu código e ficou assim:

/*...*/
public class CadastroFuncionario extends JFrame{
	/*...*/
	private final String
		NOME_USUAL  =  "apelido",
		NOME_COMPLETO = "nomeCompleto",
		FUNCAO = "funcao",
		SETOR = "setor",
		RG = "RG",
		CPF = "CPF",
		TIPO_SENGUINEO = "tipoSang",
		RH = "RH",
		CNH = "CNH",
		DATA_NASCTO = "dataNasc",
		DATA_ADM = "dataAdms"
	;
	/*...*/
	private void makeFrame() {
		/*...*/
		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.");
		/*...*/
	}
	/*...*/
	private void salvarDados() {
		Funcionario funcionario = new Funcionario();
		funcionario.setApelido(getTextOf(NOME_USUAL));
		funcionario.setNomeCompleto(getTextOf(NOME_COMPLETO));
		/*...*/
	}
	/*...*/
	private String getTextOf(String jTextFieldName) {
		Component[] components = getComponents();
		for (int i = 0; i < components.length; i++)
			if(components[i].getName().equals(jTextFieldName))
				return ((JTextField)components[i]).getText();
		return null;
	}
	/*...*/
}

QQ dúvida, pergunte, ok?

Muito obrigado pela dica Mantu…
Acho que vou criar um array msmo…
Achei que poderia haver uma manteira mais simples de resolver esse problema, ja que não há, vou seguir sua dica…
:thumbup: