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???