Gostaria de uma ajudar, quero relacionar e salvar duas abas JtabbedPane de um jframe em um único cadastro , exemplo tenho a primeira aba de um cadastro de cliente que possui todos os dados dele como nome CPF RG … E a outra aba do jframe especificações físicas dele altura peso etc , e um botão pra salvar o cadastro em casa aba , ou pode ser também um único botão em uma única aba que salve os dados das duas abas , preciso que ela seja salva no banco de dados , já tenho a tabela e ela já abre o jframe do cadastro com as abas, aí queria que no caso quando fosse aberto ele já aperecesse os dados que foi cadastrado, pensei em fazer a relação dos dois atravéz de um número de ID mais não sei como , a primeira aba cadastro já tem o número de ID
É só passar o mesmo objeto Cliente como parâmetro para ambas as abas.
Poderia me dar alguma exemplo ?
No caso exemplo tenho uma aba com a classe ficha e a outra acaba cadastro cliente ,
Teria que chamar o cliente na aba ficha ? Exemplo
Cliente cliente = new Cliente();
Porque resumindo quando eu abrir a janela com todas as abas eles selecionar um único cliente no cadastro , e se fosse aberto outro cliente da lista ele relacionar todas as abas a outro cliente .
Cria um método setCliente nas suas abas, ao selecionar um cliente você chama o setCliente de cada uma das abas passando o cliente selecionado.
Posta o código das suas classes
CLIENTESDAO
public class ClientesDao {
private Connection conecta;
// construtor
public ClientesDao() {
this.conecta = new ConnectionFactory().getConnection();
}
//Médtodo cadastrar cliente
public void cadastrarCliente(Clientes clientes ) {
try {
//1oasso - criar comando sql
String sql = “insert into clientes(nome,cpf,rg,nascimento,cep,endereco,bairro,cidade,telefone,celular,email,observacao) values (?,?,?,?,?,?,?,?,?,?,?,?)”;
//2passo - Organizar o sql e executalo
PreparedStatement pstm = conecta.prepareStatement(sql);
pstm.setString(1,clientes.getNome());
pstm.setString(2,clientes.getCpf());
pstm.setString(3,clientes.getRg());
pstm.setString(4,clientes.getNascimento());
pstm.setString(5,clientes.getCep());
pstm.setString(6,clientes.getEndereco());
pstm.setString(7,clientes.getBairro());
pstm.setString(8,clientes.getCidade());
pstm.setString(9,clientes.getTelefone());
pstm.setString(10,clientes.getCelular());
pstm.setString(11,clientes.getEmail());
pstm.setString(12,clientes.getObservacao());
//3passo - Execute o comando
pstm.execute();
//4passo - fechar o conexao
pstm.close();
} catch (SQLException erro) {
throw new RuntimeException(erro);
}
}
//LISTAR TODOS OS CLIENTES
public List listarclientes() {
try {
//1 passo - criar vetor que vai armazenas os registros do banco
List listar = new ArrayList();
//2 passo - criar o comando sql
String cmdsql=“SELECT * FROM clientes”;
PreparedStatement pstm = conecta.prepareStatement(cmdsql);
//3 passo - Guardo o resultado do select dentro do objeto rs(resultSet)
ResultSet rs = pstm.executeQuery();
//4 passo - Enquanto houver registros (resultado do select)guarde o registo na lista
while (rs.next()) {
Clientes c = new Clientes();
c.setId(rs.getInt("id"));
c.setNome(rs.getString("nome"));
c.setCpf(rs.getString("cpf"));
c.setRg(rs.getString("rg"));
c.setNascimento(rs.getString("nascimento"));
c.setCep(rs.getString("cep"));
c.setEndereco(rs.getString("endereco"));
c.setBairro(rs.getString("bairro"));
c.setCidade(rs.getString("cidade"));
c.setTelefone(rs.getString("telefone"));
c.setCelular(rs.getString("celular"));
c.setEmail(rs.getString("email"));
c.setObservacao(rs.getString("observacao"));
listar.add(c);
}
return listar;
} catch (Exception erro) {
erro.printStackTrace();
throw new RuntimeException(erro);
}
}
//ALTERAR cliente
public void alterarCliente(Clientes clientes ) {
try {
//1oasso - criar comando sql
String sql = "update clientes set nome=?, cpf=?, rg=?, nascimento=?, cep=?, endereco=?, bairro=?, cidade=?, telefone=?, celular=?, email=?, observacao=? where id=? ";
//2passo - Organizar o sql e executalo
PreparedStatement pstm = conecta.prepareStatement(sql);
pstm.setString(1,clientes.getNome());
pstm.setString(2,clientes.getCpf());
pstm.setString(3,clientes.getRg());
pstm.setString(4,clientes.getNascimento());
pstm.setString(5,clientes.getCep());
pstm.setString(6,clientes.getEndereco());
pstm.setString(7,clientes.getBairro());
pstm.setString(8,clientes.getCidade());
pstm.setString(9,clientes.getTelefone());
pstm.setString(10,clientes.getCelular());
pstm.setString(11,clientes.getEmail());
pstm.setString(12,clientes.getObservacao());
pstm.setInt(13,clientes.getId());
//3passo - Execute o comando
pstm.execute();
//4passo - fechar o conexao
pstm.close();
} catch (SQLException erro) {
throw new RuntimeException(erro);
}
}
//excluir cliente
public void excluirCliente(Clientes clientes ) {
try {
//1oasso - criar comando sql
String sql = "delete from clientes where id = ?";
//2passo - Organizar o sql e executalo
PreparedStatement pstm = conecta.prepareStatement(sql);
pstm.setInt(1, clientes.getId());
//3passo - Execute o comando
pstm.execute();
//4passo - fechar o conexao
pstm.close();
} catch (SQLException erro) {
throw new RuntimeException(erro);
}
}
}
ANAMNESEDAO
package JDBC;
import View.TelaCadastroCliente;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javabeans.Anamnese;
import javabeans.Clientes;
/**
*
-
@author BRUNO
*/
public class AnamneseDao {
private Connection conecta;
//contrutor
public AnamneseDao(){
this.conecta = new ConnectionFactory().getConnection();
}
//metodo cadastrar Anamnese
public void cadastrarAnamnese(Anamnese anamnese) {
try {
//1 passo criar comando sql
String sql = “insert into anamnese(queixa,cirurgia,etilante,esporte,medicamento,alergico,observacao2,qualCirurgia) values (?,?,?,?,?,?,?,?)”;
//2 organizar o sql e executa-lo
PreparedStatement pstm = conecta.prepareStatement(sql);
pstm.setString(1, anamnese.getQueixa());
pstm.setString(2, String.valueOf(anamnese.getCirurgia()));
pstm.setString(3, String.valueOf(anamnese.getEtilante()));
pstm.setString(4, String.valueOf(anamnese.getEsporte()));
pstm.setString(5, String.valueOf(anamnese.getMedicamento()));
pstm.setString(6, String.valueOf(anamnese.getAlergico()));
pstm.setString(7, anamnese.getObservacao2());
pstm.setString(8, anamnese.getQualCirurgia());
//3passo - executa o comando
pstm.execute();
//4 passo - fechar a conexao
pstm.close();
} catch (SQLException erro) {
throw new RuntimeException (erro);
}
}
public class Anamnese {
private String queixa;
private String cirurgia;
private String etilante;
private String fumante;
private String esporte;
private String medicamento;
private String alergico;
private String qualCirurgia;
private String observacao2;
public String getQueixa() {
return queixa;
}
public void setQueixa(String queixa) {
this.queixa = queixa;
}
public String getCirurgia() {
return cirurgia;
}
public void setCirurgia(String cirurgia) {
this.cirurgia = cirurgia;
}
public String getEtilante() {
return etilante;
}
public void setEtilante(String etilante) {
this.etilante = etilante;
}
public String getFumante() {
return fumante;
}
public void setFumante(String fumante) {
this.fumante = fumante;
}
public String getEsporte() {
return esporte;
}
public void setEsporte(String esporte) {
this.esporte = esporte;
}
public String getMedicamento() {
return medicamento;
}
public void setMedicamento(String medicamento) {
this.medicamento = medicamento;
}
public String getAlergico() {
return alergico;
}
public void setAlergico(String alergico) {
this.alergico = alergico;
}
public String getObservacao2() {
return observacao2;
}
public void setObservacao2(String observacao2) {
this.observacao2 = observacao2;
}
public String getQualCirurgia() {
return qualCirurgia;
}
public void setQualCirurgia(String qualCirurgia) {
this.qualCirurgia = qualCirurgia;
}
}
public class Clientes {
private int id;
private String nome;
private String cpf;
private String rg;
private String nascimento;
private String cep;
private String endereco;
private String bairro;
private String cidade;
private String telefone;
private String celular;
private String email;
private String observacao;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
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;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getObservacao() {
return observacao;
}
public void setObservacao(String observacao) {
this.observacao = observacao;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNascimento() {
return nascimento;
}
public void setNascimento(String nascimento) {
this.nascimento = nascimento;
}
}
package View;
import JDBC.AnamneseDao;
import java.util.Date;
import JDBC.ClientesDao;
import java.text.SimpleDateFormat;
import javabeans.Anamnese;
import javabeans.Clientes;
import javafx.scene.control.RadioButton;
import javax.swing.ButtonGroup;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
/**
*
-
@author BRUNO
*/
public class TelaCadastroCliente extends javax.swing.JFrame {/**
- Creates new form TelaCadastroCliente1
*/
public TelaCadastroCliente(Clientes clientes) {
initComponents();
txtId.setText(String.valueOf(clientes.getId()));
txtNome.setText(clientes.getNome());
txtCpf.setText(clientes.getCpf());
txtRg.setText(clientes.getRg());
txtNascimento.setText(clientes.getNascimento());
txtCep.setText(clientes.getCep());
txtEndereco.setText(clientes.getEndereco());
txtBairro.setText(clientes.getBairro());
txtCidade.setText(clientes.getCidade());
txtTelefone.setText(clientes.getTelefone());
txtCelular.setText(clientes.getCelular());
txtEmail.setText(clientes.getEmail());
txtObservacao.setText(clientes.getObservacao());
}
TelaCadastroCliente() {
}
@SuppressWarnings(“unchecked”)
//
private void initComponents() {btnEditar.setText("Editar"); btnEditar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnEditarActionPerformed(evt); } }); btnCancelar.setText("Cancelar"); btnCancelar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnCancelarActionPerformed(evt); } }); btnSalvar.setText("Gravar"); btnSalvar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSalvarActionPerformed(evt); } }); cirurgia.setText("Ja fez cirurgia?"); qual1.setText("Qual?"); GrpCirurgia.add(cirurgiaSim); cirurgiaSim.setText("Sim"); GrpCirurgia.add(cirurgiaNao); cirurgiaNao.setText("Não"); jPanel9.setBorder(javax.swing.BorderFactory.createEtchedBorder()); jLabel7.setText("Pratica Esporte?"); qualEsporte.setText("Qual?"); GrpEsporte.add(esporteSim); esporteSim.setText("Sim"); GrpEsporte.add(esporteNao); esporteNao.setText("Não"); jPanel12.setBorder(javax.swing.BorderFactory.createEtchedBorder()); jLabel5.setText("Possui"); diabetes.setText("Diabetes"); pressaoAlta.setText("Pressão alta"); convulsao.setText("Convulsão"); problemasCirculatorios.setText("Problemas circulatórios"); MarcapassoPino.setText("Marcapasso ou pino"); outros.setText("Outros"); jLabel13.setText("Observação"); btnSalvarAnamnese.setText("Salvar"); btnSalvarAnamnese.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSalvarAnamneseActionPerformed(evt); } }); btnEditarAnamnese.setText("Editar"); btnEditarAnamnese.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnEditarAnamneseActionPerformed(evt); } });
private void txtRgActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
//botao salvar
//1passo - guardar os dados da tela no Clientes clientes
Clientes clientes = new Clientes();
Anamnese anamnese = new Anamnese();Date data = new Date(); SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy"); String nascimento = formatador.format(data); clientes.setNome(txtNome.getText()); clientes.setCpf(txtCpf.getText()); clientes.setRg(txtRg.getText()); clientes.setNascimento(txtNascimento.getText()); clientes.setCep(txtCep.getText()); clientes.setEndereco(txtEndereco.getText()); clientes.setBairro(txtBairro.getText()); clientes.setCidade(txtCidade.getText()); clientes.setTelefone(txtTelefone.getText()); clientes.setCelular(txtCelular.getText()); clientes.setEmail(txtEmail.getText()); clientes.setObservacao(txtObservacao.getText()); //2passo - Criar um objeto do tipo ClienteDao try { ClientesDao clientesdao = new ClientesDao(); clientesdao.cadastrarCliente(clientes); JOptionPane.showMessageDialog(null, "Cliente Cadastrado com Sucesso!"); } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, "Erro ao Cadastrar"); }
}
private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}private void btnEditarActionPerformed(java.awt.event.ActionEvent evt) {
//botao editarClientes clientes = new Clientes(); Date data = new Date(); SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy"); String nascimento = formatador.format(data); clientes.setId(Integer.parseInt(txtId.getText())); clientes.setNome(txtNome.getText()); clientes.setCpf(txtCpf.getText()); clientes.setRg(txtRg.getText()); clientes.setNascimento(txtNascimento.getText()); clientes.setCep(txtCep.getText()); clientes.setEndereco(txtEndereco.getText()); clientes.setBairro(txtBairro.getText()); clientes.setCidade(txtCidade.getText()); clientes.setTelefone(txtTelefone.getText()); clientes.setCelular(txtCelular.getText()); clientes.setEmail(txtEmail.getText()); clientes.setObservacao(txtObservacao.getText()); //2passo - Criar um objeto do tipo ClienteDao try { ClientesDao clientesdao = new ClientesDao(); clientesdao.alterarCliente(clientes); JOptionPane.showMessageDialog(null, "Dados alterados com sucesso!"); } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, "Erro ao alterar"); }
}
private void txtIdActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}private void btnEditarAnamneseActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}private void btnSalvarAnamneseActionPerformed(java.awt.event.ActionEvent evt) {
Anamnese anamnese = new Anamnese(); AnamneseDao anamnesedao = new AnamneseDao(); anamnese.setQueixa(txtQueixa.getText()); anamnese.setQualCirurgia(txtQualCirurgia.getText()); String cirurgia = cirurgiaSim.isSelected() ? "Sim" : "Não"; String etilante = etilanteSim.isSelected() ? "Sim" : "Não"; String esporte = esporteSim.isSelected() ? "Sim" : "Não"; String medicamento = medicamentoSim.isSelected() ? "Sim" : "Não"; String alergico = alergicoSim.isSelected() ? "Sim" : "Não"; anamnese.setCirurgia(cirurgia); anamnese.setEtilante(txtEtilante.getText()); anamnese.setMedicamento(txtMedicamento.getText()); anamnese.setAlergico(txtAlergico.getText()); anamnese.setObservacao2(txtObservacao2.getText()); {
}
try { anamnesedao.cadastrarAnamnese(anamnese); JOptionPane.showMessageDialog(null, "Informações cadastradas com Sucesso!"); } catch (Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, "Erro ao Cadastrar"); }
}
public void run() { new TelaCadastroCliente(null).setVisible(true); } });
}
- Creates new form TelaCadastroCliente1
//CRIAR CLASSE DO GRUPO DO JRADIOBUTTON
private ButtonGroup getGrpEtilante() {
if (GrpEtilante == null) {
GrpEtilante = new ButtonGroup();
}
return GrpEtilante;
}
//CRIAR CLASSE DO JRADIOBUTTON SIM
private JRadioButton getEtilanteSim() {
if (etilanteSim == null) {
etilanteSim = new JRadioButton();
etilanteSim.setText("Sim");
etilanteSim.setSelected(true);
getEtilanteSim().add(etilanteSim);
}
return etilanteSim;
}
//CRIAR CLASSE DO JRADIOBUTTON NAO
private JRadioButton getEtilanteNao() {
if (etilanteNao == null) {
etilanteNao = new JRadioButton();
etilanteNao.setText("Não");
etilanteNao.setSelected(true);
getEtilanteNao().add(etilanteNao);
}
return etilanteNao;
}
//CRIAR CLASSE GRUPO DO RADIOBUTTON
private ButtonGroup getGrpEsporte() {
if (GrpEsporte == null) {
GrpEsporte = new ButtonGroup();
}
return GrpEsporte;
}
//CRIAR A CLASSE DO RADIOBUTTON SIM
private JRadioButton getEsporteSim() {
if (esporteSim == null) {
esporteSim = new JRadioButton();
esporteSim.setText(“Sim”);
esporteSim.setSelected(true);
getEsporteSim().add(esporteSim);
}
return esporteSim;
}
private JRadioButton getEsporteNao() {
if (esporteNao == null) {
esporteNao = new JRadioButton();
esporteNao.setText("Não");
esporteNao.setSelected(true);
getEsporteNao().add(esporteNao);
}
return esporteNao;
}
private ButtonGroup getGrpMedicamento() {
if (GrpMedicamento == null) {
GrpMedicamento = new ButtonGroup();
}
return GrpMedicamento;
}
private JRadioButton getMedicamentoSim() {
if (medicamentoSim == null) {
medicamentoSim = new JRadioButton();
medicamentoSim.setText("Sim");
medicamentoSim.setSelected(true);
getMedicamentoSim().add(medicamentoSim);
}
return medicamentoSim;
}
private JRadioButton getMedicamentoNao() {
if (medicamentoNao == null) {
medicamentoNao = new JRadioButton();
medicamentoNao.setText("Não");
medicamentoNao.setSelected(true);
getMedicamentoNao().add(medicamentoNao);
}
return medicamentoNao;
}
private ButtonGroup getGrpAlergico() {
if (GrpAlergico == null) {
GrpAlergico = new ButtonGroup();
}
return GrpAlergico;
}
private JRadioButton getAlergicoSim() {
if (alergicoSim == null) {
alergicoSim = new JRadioButton();
alergicoSim.setText("Sim");
alergicoSim.setSelected(true);
getAlergicoSim().add(alergicoSim);
}
return alergicoSim;
}
private JRadioButton getAlergicoNao() {
if (alergicoNao == null) {
alergicoNao = new JRadioButton();
alergicoNao.setText("Não");
alergicoNao.setSelected(true);
getAlergicoNao().add(alergicoNao);
}
return alergicoNao;
}
private ButtonGroup getGrpCirurgia() {
if (GrpCirurgia == null) {
GrpCirurgia = new ButtonGroup();
}
return GrpCirurgia;
}
private JRadioButton getCirurgiaSim() {
if (cirurgiaSim == null) {
cirurgiaSim = new JRadioButton();
cirurgiaSim.setText("Sim");
cirurgiaSim.setSelected(true);
getGrpCirurgia().add(cirurgiaSim);
}
return cirurgiaSim;
}
private JRadioButton getCirurgiaNao() {
if (cirurgiaNao == null) {
cirurgiaNao = new JRadioButton();
cirurgiaNao.setText("Não");
cirurgiaNao.setSelected(true);
getGrpCirurgia().add(cirurgiaNao);
}
return cirurgiaNao;
}
private JLabel getCirurgia() {
if (cirurgia == null) {
cirurgia = new JLabel();
cirurgia.setText("Cirurgia");
}
return cirurgia;
}
}
no caso como nas imagens preciso que a aba cada dados pessoais que é de um cliente só seja relacionada as outras abas do mesmo cliente . ou seja aba dados pessoais de um cliente e a Anamnese do mesmo cliente