[b]bom,estou com duvidas em como criar um cadastro de cliente, que efetivamente realize um registro no banco de dados.
criei a tela de cadastro e o arquivo de conexao, mas fiquei perdida em como criar o metodo principal para chamar esse cadastro e alem disso meu arquivo de conexao apresenta um erro q nao consegui decifrar ainda...
sera que alguem pode me clarear sobre esse tema?
codigo da tela de cadastro
package locadora;
public class cadastro_cliente extends javax.swing.JFrame {
/** Creates new form cadastro_cliente */
public cadastro_cliente() {
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")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jl_cadastro = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
rb_sim = new javax.swing.JRadioButton();
rb_nao = new javax.swing.JRadioButton();
jLabel11 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
tf_dependentes = new javax.swing.JTextArea();
tf_nome = new javax.swing.JTextField();
tf_dataNasc = new javax.swing.JTextField();
tf_endereço = new javax.swing.JTextField();
tf_cidade = new javax.swing.JTextField();
tf_estado = new javax.swing.JTextField();
tf_telefone = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
tf_celular = new javax.swing.JTextField();
botao_concluir = new javax.swing.JButton();
botao_cancelar = new javax.swing.JButton();
jLabel8 = new javax.swing.JLabel();
tf_cpf = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Cadastro de Clientes");
setBackground(new java.awt.Color(255, 255, 204));
jl_cadastro.setBackground(new java.awt.Color(255, 255, 102));
jl_cadastro.setFont(new java.awt.Font("Comic Sans MS", 1, 24));
jl_cadastro.setForeground(new java.awt.Color(204, 0, 51));
jl_cadastro.setText("Cadastro de Clientes");
jLabel2.setText("Nome completo: ");
jLabel3.setText("Data de nascimento:");
jLabel4.setText("Endereço:");
jLabel5.setText("Cidade:");
jLabel7.setText("Estado:");
jLabel9.setText("Telefone:");
jLabel10.setText("Incluir dependentes: ");
rb_sim.setText("Sim");
rb_nao.setText("Não");
rb_nao.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
rb_naoActionPerformed(evt);
}
});
jLabel11.setText("Dependentes:");
tf_dependentes.setColumns(20);
tf_dependentes.setRows(5);
jScrollPane1.setViewportView(tf_dependentes);
jLabel6.setText("Celular:");
botao_concluir.setText("Concluir");
botao_cancelar.setText("Cancelar");
jLabel8.setText("CPF:");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addComponent(jLabel3)
.addComponent(jLabel11)
.addComponent(jLabel5)
.addComponent(jLabel10))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(tf_cidade, javax.swing.GroupLayout.DEFAULT_SIZE, 295, Short.MAX_VALUE)
.addGap(18, 18, 18))
.addGroup(layout.createSequentialGroup()
.addComponent(tf_telefone, javax.swing.GroupLayout.PREFERRED_SIZE, 264, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(49, 49, 49)))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel6)
.addComponent(jLabel7))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(tf_celular, javax.swing.GroupLayout.DEFAULT_SIZE, 264, Short.MAX_VALUE)
.addComponent(tf_estado, javax.swing.GroupLayout.DEFAULT_SIZE, 264, Short.MAX_VALUE)))
.addGroup(layout.createSequentialGroup()
.addComponent(tf_dataNasc, javax.swing.GroupLayout.PREFERRED_SIZE, 239, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(48, 48, 48)
.addComponent(jLabel8)
.addGap(18, 18, 18)
.addComponent(tf_cpf, javax.swing.GroupLayout.DEFAULT_SIZE, 304, Short.MAX_VALUE))
.addComponent(tf_endereço, javax.swing.GroupLayout.DEFAULT_SIZE, 632, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 632, Short.MAX_VALUE)))
.addGroup(layout.createSequentialGroup()
.addGap(21, 21, 21)
.addComponent(rb_sim)
.addGap(35, 35, 35)
.addComponent(rb_nao))))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jLabel2)
.addGap(27, 27, 27)
.addComponent(tf_nome, javax.swing.GroupLayout.PREFERRED_SIZE, 637, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(166, 166, 166))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel9)
.addContainerGap(734, Short.MAX_VALUE))))
.addGroup(layout.createSequentialGroup()
.addGap(194, 194, 194)
.addComponent(botao_concluir, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(149, 149, 149)
.addComponent(botao_cancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(242, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(253, 253, 253)
.addComponent(jl_cadastro)
.addContainerGap(296, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(42, 42, 42)
.addComponent(jl_cadastro)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(tf_nome, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(tf_dataNasc, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel8)
.addComponent(tf_cpf, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(tf_endereço, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(25, 25, 25)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tf_cidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7)
.addComponent(tf_estado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5))
.addGap(26, 26, 26)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel9)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tf_telefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6)
.addComponent(tf_celular, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(50, 50, 50)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel10)
.addComponent(rb_sim)
.addComponent(rb_nao))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(30, 30, 30)
.addComponent(jLabel11))
.addGroup(layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(74, 74, 74)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(botao_concluir, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(botao_cancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(121, Short.MAX_VALUE))
);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-806)/2, (screenSize.height-700)/2, 806, 700);
}// </editor-fold>
private void rb_naoActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new cadastro_cliente().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton botao_cancelar;
private javax.swing.JButton botao_concluir;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
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.JScrollPane jScrollPane1;
private javax.swing.JLabel jl_cadastro;
private javax.swing.JRadioButton rb_nao;
private javax.swing.JRadioButton rb_sim;
private javax.swing.JTextField tf_celular;
private javax.swing.JTextField tf_cidade;
private javax.swing.JTextField tf_cpf;
private javax.swing.JTextField tf_dataNasc;
private javax.swing.JTextArea tf_dependentes;
private javax.swing.JTextField tf_endereço;
private javax.swing.JTextField tf_estado;
private javax.swing.JTextField tf_nome;
private javax.swing.JTextField tf_telefone;
// End of variables declaration
package locadora;
import java.sql.*;
import javax.swing.JOptionPane;
public class conexao {
final private String driver = "com.mysql.jdbc.Driver";
final private String url ="jdbc:mysql://localhost:3306/locadora";
final private String usuario = "root";
final private String senha = "1234";
private Connection conexao;//objeto responsavel pela conexao
private Statement statement;//abrir caminho ate o banco
private ResultSet resultset;// armazena o resultado das consultas sql
// criando o metodo de conexo com o banco de dados
public boolean conecta () throws SQLException
{
boolean result = true;
try {
Class.forName(driver);// metodo que chama pelo drive
conexao = DriverManager.getConnection (url, usuario,senha );
JOptionPane.showMessageDialog ("null", conectou);
}
// trata a exceção: drive nao ser encontrado
catch (ClassNotFoundException Driver){
JOptionPane.showMessageDialog(null, "driver nao localizado", + Driver);
result = false;
}
catch (SQLException Fonte){
JOptionPane.showMessageDialog(null, "Deu erro na conexao" + "com a fonte de dados:" + Fonte);
result = false;
}
return result;
}
// metodo para desconexao do banco
public void desconecta (){
boolean result = true;
try{
conexao.close();
JOptionPane.showMessageDialog(null, "banco fechado");
}
catch (SQLException fecha)
{
JOptionPane.showMessageDialog(null, "nao foi possivel" +
"fechar o banco" + fecha);
result = false;
}
}
// tratar instruções sql
public void executeSQL(String sql)
{
try {
statement = conexao.createStatement();
resultset = statement.executeQuery(sql);
}
catch (SQLException sqlex)
{
JOptionPane.showMessageDialog(null, "nao foi possivel" +
"executar o comando sql" + sqlex);
}
}
}