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); <a href="//db.setDate">//db.setDate</a>(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(newjava.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)); <a href="//ftfDtInclusaoCli.setText">//ftfDtInclusaoCli.setText</a>(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.