Caros amigos, estou aprendendo Java com swing, usando formulário. Estou fazendo um pequeno aplicativo em 3 camadas, e tenho as seguintes classes abaixo:
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package ipil.DTO;
import java.text.DateFormat;
/**
*
-
@author Rafael
*/
public class clientesDTO
{
public int cli_id;
public String cli_nome;
public DateFormat cli_dt_inclusao = DateFormat.getDateInstance(DateFormat.MEDIUM);
public String cli_endereco;
public String cli_bairro;
public String cli_email;
public String cli_tel;
public String cli_cidade;
public String cli_uf;
}
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package ipil.BLL;
import ipil.DTO.clientesDTO;
import ipil.DAL.clientesDAL;
/**
*
-
@author Rafael
*/
public class clientesBLL
{
public void novoCliente(clientesDTO cliente) throws Exception
{
try
{
clientesDAL dal = new clientesDAL();
dal.incluirCliente(cliente);
}
catch (Exception ex)
{
throw ex;
}
}
public clientesDTO selecionaClientePorID(int cli_id) throws Exception
{
try
{
clientesDAL dal = new clientesDAL();
return dal.selecionarClientePorID(cli_id);
}
catch (Exception ex)
{
throw ex;
}
}
}
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package ipil.DAL;
import ipil.DTO.clientesDTO;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
/**
*
-
@author Rafael
*/
public class clientesDAL extends conexaoMySql
{
private Connection connection;
public ResultSet rs;public clientesDAL()
{
this.connection = new conexaoMySql().getConnection();
}
public void incluirCliente(clientesDTO cliente)
{
String sql = “INSERT INTO clientes (cli_id, cli_nome, date(cli_dt_inclusao), cli_endereco, cli_bairro, cli_email, cli_tel, cli_cidade, cli_uf) VALUES(null,?,?,?,?,?,?,?,?)”;
try
{
PreparedStatement db = connection.prepareStatement(sql);
db.setString(1, cliente.cli_nome);
//db.setDate(2, cliente.cli_dt_inclusao);
db.setString(3, cliente.cli_endereco);
db.setString(4, cliente.cli_bairro);
db.setString(5, cliente.cli_email);
db.setString(6, cliente.cli_tel);
db.setString(7, cliente.cli_cidade);
db.setString(8, cliente.cli_uf);
db.execute();
db.close();
}
catch (SQLException u)
{
throw new RuntimeException(u);
}
}
public clientesDTO selecionarClientePorID(Integer cli_id)throws Exception
{
String sql = “SELECT * FROM clientes WHERE cli_id=?”;
PreparedStatement db = connection.prepareStatement(sql);
db.setInt(1, cli_id);
rs = db.executeQuery();
clientesDTO cliente = new clientesDTO();
if(rs.next())
cliente.cli_id = rs.getInt(“cli_id”);
cliente.cli_nome = rs.getString(“cli_nome”);
//cliente.cli_dt_inclusao = rs.getDate(“cli_dt_inclusao”);
cliente.cli_endereco = rs.getString(“cli_endereco”);
cliente.cli_bairro = rs.getString(“cli_bairro”);
cliente.cli_email = rs.getString(“cli_email”);
cliente.cli_tel = rs.getString(“cli_tel”);
cliente.cli_cidade = rs.getString(“cli_cidade”);
cliente.cli_uf = rs.getString(“cli_uf”);
return cliente;
}
}
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package ipil.UI;
import ipil.BLL.clientesBLL;
import ipil.DTO.clientesDTO;
import javax.swing.JOptionPane;
/**
*
-
@author Rafael
*/
public class clintesUI extends javax.swing.JFrame {/**
- Creates new form clintesUI
*/
public clintesUI() {
initComponents();
}
/**
-
This method is called from within the constructor to initialize the form.
-
WARNING: Do NOT modify this code. The content of this method is always
-
regenerated by the Form Editor.
*/
@SuppressWarnings(“unchecked”)
//
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;jLabel1 = new javax.swing.JLabel();
txtCodigoCli = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
txtNomeCli = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
ftfDtInclusaoCli = new javax.swing.JFormattedTextField();
jLabel4 = new javax.swing.JLabel();
txtEnderecoCli = new javax.swing.JTextField();
jLabel5 = new javax.swing.JLabel();
txtBairroCli = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
txtEmailCli = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
ftfTelCli = new javax.swing.JFormattedTextField();
jLabel8 = new javax.swing.JLabel();
txtCidadeCli = new javax.swing.JTextField();
jLabel9 = new javax.swing.JLabel();
txtUFCli = new javax.swing.JTextField();
btnIncluirCli = new javax.swing.JButton();
btnLimparCli = new javax.swing.JButton();
btnSairCli = new javax.swing.JButton();
btnPesquisarPorIDCli = new javax.swing.JButton();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new java.awt.GridBagLayout());jLabel1.setText(“Código”);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 3;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(11, 10, 0, 0);
getContentPane().add(jLabel1, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.gridwidth = 3;
gridBagConstraints.ipadx = 27;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(1, 10, 0, 0);
getContentPane().add(txtCodigoCli, gridBagConstraints);jLabel2.setText(“Nome”);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(jLabel2, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
gridBagConstraints.gridwidth = 104;
gridBagConstraints.ipadx = 542;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(txtNomeCli, gridBagConstraints);jLabel3.setText(“Dt. de Inclusão”);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 4;
gridBagConstraints.gridwidth = 6;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(jLabel3, gridBagConstraints);ftfDtInclusaoCli.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.DateFormatter()));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 5;
gridBagConstraints.gridwidth = 6;
gridBagConstraints.ipadx = 67;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(ftfDtInclusaoCli, gridBagConstraints);jLabel4.setText(“Endereço”);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 6;
gridBagConstraints.gridwidth = 5;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(jLabel4, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 7;
gridBagConstraints.gridwidth = 104;
gridBagConstraints.ipadx = 542;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(txtEnderecoCli, gridBagConstraints);jLabel5.setText(“Bairro”);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 8;
gridBagConstraints.gridwidth = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(jLabel5, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 9;
gridBagConstraints.gridwidth = 23;
gridBagConstraints.ipadx = 206;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(txtBairroCli, gridBagConstraints);jLabel6.setText(“E-mail”);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 45;
gridBagConstraints.gridy = 8;
gridBagConstraints.gridwidth = 25;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(jLabel6, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 45;
gridBagConstraints.gridy = 9;
gridBagConstraints.gridwidth = 59;
gridBagConstraints.ipadx = 320;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(txtEmailCli, gridBagConstraints);jLabel7.setText(“Telefone”);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 10;
gridBagConstraints.gridwidth = 4;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(10, 10, 0, 0);
getContentPane().add(jLabel7, gridBagConstraints);try {
ftfTelCli.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("(##) ####-####")));
} catch (java.text.ParseException ex) {
ex.printStackTrace();
}
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 11;
gridBagConstraints.gridwidth = 7;
gridBagConstraints.ipadx = 112;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 10, 0, 0);
getContentPane().add(ftfTelCli, gridBagConstraints);jLabel8.setText(“Cidade”);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 13;
gridBagConstraints.gridy = 10;
gridBagConstraints.gridwidth = 9;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(10, 12, 0, 0);
getContentPane().add(jLabel8, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 13;
gridBagConstraints.gridy = 11;
gridBagConstraints.gridwidth = 58;
gridBagConstraints.ipadx = 319;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 12, 0, 0);
getContentPane().add(txtCidadeCli, gridBagConstraints);jLabel9.setText(“UF”);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 102;
gridBagConstraints.gridy = 10;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(10, 5, 0, 0);
getContentPane().add(jLabel9, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 102;
gridBagConstraints.gridy = 11;
gridBagConstraints.gridwidth = 105;
gridBagConstraints.ipadx = 84;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(6, 5, 0, 10);
getContentPane().add(txtUFCli, gridBagConstraints);btnIncluirCli.setText(“Incluir”);
btnIncluirCli.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnIncluirCliActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 12;
gridBagConstraints.gridwidth = 6;
gridBagConstraints.ipadx = 12;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(10, 10, 7, 0);
getContentPane().add(btnIncluirCli, gridBagConstraints);btnLimparCli.setText(“Limpar”);
btnLimparCli.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLimparCliActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 6;
gridBagConstraints.gridy = 12;
gridBagConstraints.gridwidth = 8;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(10, 17, 7, 0);
getContentPane().add(btnLimparCli, gridBagConstraints);btnSairCli.setText(“Sair”);
btnSairCli.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSairCliActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 22;
gridBagConstraints.gridy = 12;
gridBagConstraints.gridwidth = 24;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(10, 17, 7, 0);
getContentPane().add(btnSairCli, gridBagConstraints);btnPesquisarPorIDCli.setText(“Pesquisar”);
btnPesquisarPorIDCli.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnPesquisarPorIDCliActionPerformed(evt);
}
});
getContentPane().add(btnPesquisarPorIDCli, new java.awt.GridBagConstraints());pack();
}//
private void btnSairCliActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}private void btnLimparCliActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
txtBairroCli.setText("");
txtCidadeCli.setText("");
txtCodigoCli.setText("");
txtEmailCli.setText("");
txtEnderecoCli.setText("");
txtNomeCli.setText("");
txtUFCli.setText("");
}private void btnIncluirCliActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// instanciando a classe clientesDTO do pacote DTO e criando seu objeto cliente
clientesDTO cliente = new clientesDTO();
cliente.cli_nome = (txtNomeCli.getText());
//cliente.cli_dt_inclusao = (ftfDtInclusaoCli.getText());
cliente.cli_endereco = (txtEnderecoCli.getText());
cliente.cli_bairro = (txtBairroCli.getText());
cliente.cli_email = (txtEmailCli.getText());
cliente.cli_tel = (ftfTelCli.getText());
cliente.cli_cidade = (txtCidadeCli.getText());
cliente.cli_uf = (txtUFCli.getText());
// fazendo a validação dos dados
if ((txtNomeCli.getText().isEmpty()) || (txtEnderecoCli.getText().isEmpty()) || (txtBairroCli.getText().isEmpty()) || (ftfTelCli.getText().isEmpty())|| (txtCidadeCli.getText().isEmpty())|| (txtUFCli.getText().isEmpty()))
{
JOptionPane.showMessageDialog(null, “Os campos não podem retornar vazios”);
}
else
{
try
{
// instanciando a classe clientesBLL do pacote ipil.BLL e criando seu objeto bll
clientesBLL bll = new clientesBLL();
bll.novoCliente(cliente);
JOptionPane.showMessageDialog(null, "Usuário “+txtNomeCli.getText()+” inserido com sucesso! ");
}
catch (Exception ex)
{} } // apaga os dados preenchidos nos campos de texto txtBairroCli.setText(""); txtCidadeCli.setText(""); txtCodigoCli.setText(""); txtEmailCli.setText(""); txtEnderecoCli.setText(""); txtNomeCli.setText(""); txtUFCli.setText("");
}
private void btnPesquisarPorIDCliActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
if (txtCodigoCli.getText().isEmpty())
{
JOptionPane.showMessageDialog(null, “Código do Cliente não pode ser vazio, favor digite um código válido !!!”);
}
else
{
try
{
int cli_id = Integer.parseInt(txtCodigoCli.getText());
clientesDTO cliente = new clientesDTO();
clientesBLL bll = new clientesBLL();
cliente = bll.selecionaClientePorID(cli_id);
txtNomeCli.setText(String.valueOf(cliente.cli_nome));
//ftfDtInclusaoCli.setText(java.sql.Date.valueOf(cliente.cli_dt_inclusao));
txtEnderecoCli.setText(String.valueOf(cliente.cli_endereco));
txtBairroCli.setText(String.valueOf(cliente.cli_bairro));
txtEmailCli.setText(String.valueOf(cliente.cli_email));
ftfTelCli.setText(String.valueOf(cliente.cli_tel));
txtCidadeCli.setText(String.valueOf(cliente.cli_cidade));
txtUFCli.setText(String.valueOf(cliente.cli_uf));
}
catch (Exception ex)
{
JOptionPane.showMessageDialog(null, “Cliente não encontrado. Favor tente novamente !!!”);
}
}
}/**
-
@param args the command line arguments
/
public static void main(String args[]) {
/ Set the Nimbus look and feel /
//
/ If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.- For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“Nimbus”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(clintesUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(clintesUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(clintesUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(clintesUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new clintesUI().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnIncluirCli;
private javax.swing.JButton btnLimparCli;
private javax.swing.JButton btnPesquisarPorIDCli;
private javax.swing.JButton btnSairCli;
private javax.swing.JFormattedTextField ftfDtInclusaoCli;
private javax.swing.JFormattedTextField ftfTelCli;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JTextField txtBairroCli;
private javax.swing.JTextField txtCidadeCli;
private javax.swing.JTextField txtCodigoCli;
private javax.swing.JTextField txtEmailCli;
private javax.swing.JTextField txtEnderecoCli;
private javax.swing.JTextField txtNomeCli;
private javax.swing.JTextField txtUFCli;
// End of variables declaration
} - For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- Creates new form clintesUI
Não estou conseguido incluir o campo cli_dt_inclusao e nem consigo buscar este campo na hora da pesquisa, pois não consegui formatar o mesmo para a duas situações. Agradeço desde já aos mestres do Java, por uma pequena ajuda.