Bom, segue minha página JFrame
[code]package br.com.crudsimples.frame;
import java.awt.EventQueue;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import com.toedter.components.JSpinField;
import com.toedter.calendar.JDateChooser;
import javax.swing.JToggleButton;
import br.com.crudsimples.model.Contato;
import br.com.crudsimples.controller.ContatoController;
public class ContatoFrame extends JFrame {
private JPanel contentPane;
private JTextField txtNome;
private JTextField txtApelido;
private JTextField textField;
private JDateChooser dtcDtnascimento;
private List<Contato> contatoList = new ContatoController().listaContatos();
private int registroAtual = 0;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ContatoFrame frame = new ContatoFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ContatoFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblNome = new JLabel("Nome:");
lblNome.setBounds(10, 11, 46, 14);
contentPane.add(lblNome);
txtNome = new JTextField();
txtNome.setBounds(95, 8, 171, 20);
contentPane.add(txtNome);
txtNome.setColumns(10);
JLabel lblApelido = new JLabel("Apelido:");
lblApelido.setBounds(10, 48, 46, 14);
contentPane.add(lblApelido);
txtApelido = new JTextField();
txtApelido.setBounds(95, 45, 171, 20);
contentPane.add(txtApelido);
txtApelido.setColumns(10);
JLabel lbData_nascimento = new JLabel("Dt.Nascimento:");
lbData_nascimento.setBounds(10, 88, 75, 14);
contentPane.add(lbData_nascimento);
JButton btnSalvar = new JButton("Salvar");
btnSalvar.setBounds(311, 7, 89, 23);
contentPane.add(btnSalvar);
JButton btnAlterar = new JButton("Alterar");
btnAlterar.setBounds(311, 44, 89, 23);
contentPane.add(btnAlterar);
JButton btnExcluir = new JButton("Excluir");
btnExcluir.setBounds(311, 84, 89, 23);
contentPane.add(btnExcluir);
dtcDtnascimento = new JDateChooser();
dtcDtnascimento.setBounds(95, 82, 171, 20);
contentPane.add(dtcDtnascimento);
JButton btnPrimeiro = new JButton("|<");
btnPrimeiro.setBounds(10, 149, 69, 26);
contentPane.add(btnPrimeiro);
JButton btnAnterior = new JButton("<<");
btnAnterior.setBounds(78, 149, 69, 26);
contentPane.add(btnAnterior);
JButton btnLimpar = new JButton("Limpar");
btnLimpar.setBounds(147, 149, 98, 26);
contentPane.add(btnLimpar);
JButton btnProximo = new JButton(">>");
btnProximo.setBounds(245, 149, 69, 26);
contentPane.add(btnProximo);
JButton btnUltimo = new JButton(">|");
btnUltimo.setBounds(311, 149, 69, 26);
contentPane.add(btnUltimo);
textField = new JTextField();
textField.setBounds(10, 217, 304, 20);
contentPane.add(textField);
textField.setColumns(10);
JLabel lblLocalizarPorNome = new JLabel("Localizar por nome");
lblLocalizarPorNome.setBounds(10, 190, 137, 16);
contentPane.add(lblLocalizarPorNome);
JButton btnProcurar = new JButton("Procurar");
btnProcurar.setBounds(326, 214, 98, 26);
contentPane.add(btnProcurar);
}
private void getValores(int index) {
if (index <= contatoList.size() - 1) {
Contato contatoAtual = contatoList.get(index);
txtNome.setText(contatoAtual.getNome());
txtApelido.setText(contatoAtual.getApelido());
dtcDtnascimento.setDate(contatoAtual.getData_nascimento());
}
}
private void onClickUltimo() {
if (registroAtual < (contatoList.size() - 1)) {
registroAtual = contatoList.size() - 1;
getValores(registroAtual);
}
}
private void onClickAnterior() {
if (registroAtual > 0) {
getValores(--registroAtual);
}
}
private void onClickPrimeiro() {
if (registroAtual > 0) {
getValores(0);
}
}
private void onClickProximo() {
if (registroAtual < (contatoList.size() - 1)) {
getValores(++registroAtual);
}
}
private void onClickAlterar() {
ContatoController cc = new ContatoController();
long id = contatoList.get(registroAtual).getId();
try {
cc.alterar(id, txtNome.getText(), txtApelido.getText(),
dtcDtnascimento.getDateFormatString());
JOptionPane.showMessageDialog(null,
"Contato Alterado com Sucesso !!");
clearFields();
contatoList = new ContatoController().listaContatos();
} catch (ParseException e) {
JOptionPane.showMessageDialog(
null,
"A Data possui um formato errado \n"
+ e.getLocalizedMessage());
} catch (SQLException e) {
JOptionPane.showMessageDialog(
null,
"Não foi possível alterar o contato \n"
+ e.getLocalizedMessage());
}
}
private void onClickSalvar(){
ContatoController cc = new ContatoController();
try{
cc.salvar(txtNome.getText(), txtApelido.getText(), dtcDtnascimento.getDate());
} catch (ParseException e) {
JOptionPane.showMessageDialog(
null,
"A Data possui um formato errado \n"
+ e.getLocalizedMessage());
} catch (SQLException e) {
JOptionPane.showMessageDialog(
null,
"Não foi possível alterar o contato \n"
+ e.getLocalizedMessage());
}
}
}
private void clearFields() {
txtNome.setText("");
txtApelido.setText("");
dtcDtnascimento.setDate(null);
}
}
[/code]