Como relacionar duas abas de jframe no mesmo cadastro

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.

1 curtida

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

1 curtida

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 editar

     Clientes 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);
         }
     });
    

    }

//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