estou com uma dúvida com swing tenho que fazer uma janela contendo nome,endereço,bairro e dois botoes inserir e finalizar tenho que fazer com que estes dados chamem o banco de dados, so que eu não estou conseguindo inserir estes dados.
seguem as classes.
a primeira classe (bim)
package conexao;
public class Cliente {
private int id;
private String nome;
private String endereco;
private String bairro;
public Cliente(String nome, String endereco, String bairro) {
this.nome = nome;
this.endereco = endereco;
this.bairro = bairro;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
}
a segunda classe contendo a conexão e o insert
package conexao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Conexao {
public Connection conectar() {
Connection con = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE", "system",
"system");
System.out.println("conectado");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
public void inserir(Cliente cliente) {
// chama o metodo que realiza a conexão e salva em um objeto
Connection con = conectar();
// objeto que relaciona o sql com a conexão
PreparedStatement stm = null;
// String com o comando sql
String sql = "insert into tb_cliente(nm_nome,en_endereco,nm_bairro)values(?,?,?)";
try {
stm = con.prepareStatement(sql);
// setoos parametros para substituir as interrogações
stm.setString(1, cliente.getNome());
stm.setString(2, cliente.getEndereco());
stm.setString(3, cliente.getBairro());
// executa op comando no banco
stm.executeUpdate();
// fexa a conexão
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
Cliente cliente = new Cliente(null, null, null);
cliente.setNome("Paulo");
cliente.setBairro("Samambaia");
cliente.setEndereco("Qr 606");
// chama o metodo que insere na base
new Conexao().inserir(cliente);
}
}
e esta e a classe do swing
package conexao;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Janela extends JFrame {
JTextField nm_nome, en_endereco, nm_bairro;
JButton btAdcionar, btFinalizar;
Conexao conexao = new Conexao();
public Object cliente;
public Janela() {
setTitle("Cadastro");
setLayout(new FlowLayout());
// labels
JLabel lbNome = new JLabel("Nome ");
JLabel lbEndereco = new JLabel("Endereço ");
JLabel lbBairro = new JLabel("Bairro ");
// caixas de texto
nm_nome = new JTextField(10);
en_endereco = new JTextField(10);
nm_bairro = new JTextField(10);
// botões
btAdcionar = new JButton("Adcionar");
btFinalizar = new JButton("Finalizar");
add(lbNome);
add(nm_nome);
add(lbEndereco);
add(en_endereco);
add(lbBairro);
add(nm_bairro);
add(btAdcionar);
add(btFinalizar);
setSize(200, 200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
EventoAdd eventoAdd = new EventoAdd();
btAdcionar.addActionListener(eventoAdd);
EventoFinalizar eventofinalizar = new EventoFinalizar();
btFinalizar.addActionListener(eventofinalizar);
}
private class EventoAdd implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
String nome = nm_nome.getText();
String endereco = en_endereco.getText();
String bairro = nm_bairro.getText();
Cliente cliente = new Cliente(nome, endereco, bairro);
cliente.getBairro();
cliente.getEndereco();
cliente.getNome();
nm_nome.setText("");
en_endereco.setText("");
nm_bairro.setText("");
}
}
//não estou conseguindo botar este evento
private class EventoFinalizar implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
}
}
public static void main(String[] args) {
new Janela();
}
}
me ajudem por favor