Integridade do Sistema

Bom estou eu aqui mais uma vez com essa porcaria de sistema que nunca fica pronto. No sistema tem meu cadastro de Médico, Paciente e Consulta. No sistema eu tenho que ter uma classe de Repositório onde contem os meus métodos, uma classe Controlador onde ficam minhas validações e minha Fachada.

Vou mostrar minha classe Médico.

[code]public class Medico {

private String codigo;
private String nome;
private String crm;

/**
 * @return the codigo
 */
public String getCodigo() {
    return codigo;
}

/**
 * @param codigo the codigo to set
 */
public void setCodigo(String codigo) {
    this.codigo = codigo;
}

/**
 * @return the nome
 */
public String getNome() {
    return nome;
}

/**
 * @param nome the nome to set
 */
public void setNome(String nome) {
    this.nome = nome;
}

/**
 * @return the crm
 */
public String getCrm() {
    return crm;
}

/**
 * @param crm the crm to set
 */
public void setCrm(String crm) {
    this.crm = crm;
}
/**
 * @return the lista
 */
/**
 * @param lista the lista to set
 */

}
[/code]

Meu repositórioMedico.

[code]package hospital.Medicos;

import java.util.ArrayList;

/**
*

  • @author Giba
    */
    public class RepositorioMedicoLista {

    ArrayList listaMedico;

    public RepositorioMedicoLista() {
    this.listaMedico = new ArrayList();
    }

    public void InserirMedico(Medico medico) {
    this.listaMedico.add(medico);
    }

    public void AlterarMedico(Medico medico) {
    for (int i = 0; i < this.listaMedico.size(); i++) {
    if (this.listaMedico.get(i).getCrm().equals(medico.getCrm())) {
    this.listaMedico.set(i, medico);
    }
    }
    }

    public void ExcluirMedico(Medico medico) {
    for (int i = 0; i < this.listaMedico.size(); i++) {
    if (this.listaMedico.get(i).getCrm().equals(medico.getCrm())) {
    this.listaMedico.remove(i);
    }
    }
    }

    public ArrayList ListarMedico() {
    return listaMedico;
    }

    public Medico ConsultarMedico(Medico medico) {
    Medico medico1 = null;
    for (int i = 0; i < this.listaMedico.size(); i++) {
    if (this.listaMedico.get(i).getCrm().equals(medico.getCrm())) {
    medico1 = this.listaMedico.get(i);
    }
    }
    return medico1;
    }

    public void VerificarCrm(Medico medico) throws ExcecaoMedico {
    for (int i = 0; i < this.listaMedico.size(); i++) {
    if (this.listaMedico.get(i).getCrm().equals(medico.getCrm())) {
    throw new ExcecaoMedico(“Já foi cadastrado um médico com esse CRM.”);
    }
    }
    }
    }[/code]

Meu controladorMedico.
package hospital.Medicos;

import java.util.ArrayList;

/**
*

  • @author Giba
    */
    public class ControladorMedico {

    [code]private RepositorioMedicoLista repositorio;

    public ControladorMedico() {
    this.repositorio = new RepositorioMedicoLista();
    }

    public void InserirMedico(Medico medico) throws ExcecaoMedico {
    if (medico == null) {
    throw new ExcecaoMedico(“Informar o médico”);
    }
    if (medico.getNome() == null) {
    throw new ExcecaoMedico(“Informar o código.”);
    }

     if (medico.getCodigo().trim().equals("")) {
         throw new ExcecaoMedico("Informar o código.");
     }
    
     if (medico.getNome() == null) {
         throw new ExcecaoMedico("Informar o nome.");
     }
    
     if (medico.getNome().trim().equals("")) {
         throw new ExcecaoMedico("Informar o nome.");
     }
    
     if (medico.getCrm() == null) {
         throw new ExcecaoMedico("Informar o Crm.");
     }
    
     if (medico.getCrm().trim().equals("")) {
         throw new ExcecaoMedico("Informar o CRM.");
     }
     this.repositorio.VerificarCrm(medico);
     this.repositorio.InserirMedico(medico);
    

    }

    public void AlterarMedico(Medico medico) throws ExcecaoMedico {
    if (medico == null) {
    throw new ExcecaoMedico(“Informar o médico”);
    }
    if (medico.getNome() == null) {
    throw new ExcecaoMedico(“Informar o código.”);
    }

     if (medico.getCodigo().trim().equals("")) {
         throw new ExcecaoMedico("Informar o código.");
     }
    
     if (medico.getNome() == null) {
         throw new ExcecaoMedico("Informar o nome.");
     }
    
     if (medico.getNome().trim().equals("")) {
         throw new ExcecaoMedico("Informar o nome.");
     }
    
     if (medico.getCrm() == null) {
         throw new ExcecaoMedico("Informar o Crm.");
     }
    
     if (medico.getCrm().trim().equals("")) {
         throw new ExcecaoMedico("Informar o CRM.");
     }
    
     this.repositorio.AlterarMedico(medico);
    

    }

    public void ExcluirMedico(Medico medico) {
    this.repositorio.ExcluirMedico(medico);
    }

    public ArrayList ListarMedico() {
    return this.repositorio.ListarMedico();
    }

    public Medico ConsultarMedico(Medico medico) {
    return this.repositorio.ConsultarMedico(medico);
    }
    }[/code]

E agora a minha classe Consulta.

[code]package hospital.Consultas;

import hospital.Medicos.Medico;
import hospital.Pacientes.Paciente;

/**
*

  • @author Giba
    */
    public class Consulta {

    private String codigo;
    private String dataconsulta;
    private String horaconsulta;
    private String datamarc;
    private String horamarc;
    private String primeiravez;
    private Paciente paciente;
    private Medico medico;

    /**

    • @return the codigo
      */
      public String getCodigo() {
      return codigo;
      }

    /**

    • @param codigo the codigo to set
      */
      public void setCodigo(String codigo) {
      this.codigo = codigo;
      }

    /**

    • @return the dataconsulta
      */
      public String getDataconsulta() {
      return dataconsulta;
      }

    /**

    • @param dataconsulta the dataconsulta to set
      */
      public void setDataconsulta(String dataconsulta) {
      this.dataconsulta = dataconsulta;
      }

    /**

    • @return the horaconsulta
      */
      public String getHoraconsulta() {
      return horaconsulta;
      }

    /**

    • @param horaconsulta the horaconsulta to set
      */
      public void setHoraconsulta(String horaconsulta) {
      this.horaconsulta = horaconsulta;
      }

    /**

    • @return the datamarc
      */
      public String getDatamarc() {
      return datamarc;
      }

    /**

    • @param datamarc the datamarc to set
      */
      public void setDatamarc(String datamarc) {
      this.datamarc = datamarc;
      }

    /**

    • @return the horamarc
      */
      public String getHoramarc() {
      return horamarc;
      }

    /**

    • @param horamarc the horamarc to set
      */
      public void setHoramarc(String horamarc) {
      this.horamarc = horamarc;
      }

    /**

    • @return the primeiravez
      */
      public String getPrimeiravez() {
      return primeiravez;
      }

    /**

    • @param primeiravez the primeiravez to set
      */
      public void setPrimeiravez(String primeiravez) {
      this.primeiravez = primeiravez;
      }

    /**

    • @return the paciente
      */
      public Paciente getPaciente() {
      return paciente;
      }

    /**

    • @param paciente the paciente to set
      */
      public void setPaciente(Paciente paciente) {
      this.paciente = paciente;
      }

    /**

    • @return the medico
      */
      public Medico getMedico() {
      return medico;
      }

    /**

    • @param medico the medico to set
      */
      public void setMedico(Medico medico) {
      this.medico = medico;
      }
      }[/code]

O Repositorio e Controlador segue a mesma ideia do Médico então nem vou colocar pra não ficar um monte de código. Até ai ta tudo beleza. Eu posso inserir, excluir, consultar, listar e alterar. Tudo funcionando muito bem. O problema é que se eu inserir um Médico e esse Médico estiver ligado a Minha consulta eu não posso mais excluir ele. Só que eu não sei como eu faria isso.

Essa é minha tela (JDialog) de cadastro Médico.

[code]package hospital;

import hospital.Medicos.ExcecaoMedico;
import hospital.Medicos.Medico;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

/**
*

  • @author tarde
    */
    public class FormCadastroMedico extends javax.swing.JDialog {

    Fachada fachada;
    Medico medico;

    /** Creates new form FormCadastroMedico */
    public FormCadastroMedico(java.awt.Frame parent, boolean modal, Fachada fachada) {
    super(parent, modal);
    initComponents();
    this.fachada = fachada;
    }

    private FormCadastroMedico(JFrame jFrame, boolean b) {
    super(jFrame, b);
    initComponents();
    }

    FormCadastroMedico(Fachada fachada, Medico medico) {
    initComponents();
    this.fachada = fachada;
    this.medico = medico;
    campoNome.setText(this.medico.getNome());
    campoCodigo.setText(this.medico.getCodigo());
    campoCrm.setText(this.medico.getCrm());
    }

    /** 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() {

      jPanel1 = new javax.swing.JPanel();
      jLabel1 = new javax.swing.JLabel();
      campoNome = new javax.swing.JTextField();
      jLabel2 = new javax.swing.JLabel();
      jLabel3 = new javax.swing.JLabel();
      campoCodigo = new javax.swing.JTextField();
      campoCrm = new javax.swing.JTextField();
      jPanel2 = new javax.swing.JPanel();
      jButton1 = new javax.swing.JButton();
      jButton2 = new javax.swing.JButton();

      setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
      setTitle(“Cadastro do Médico”);
      setBackground(new java.awt.Color(224, 223, 227));
      setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

      jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(“Dados do Médico:”));

      jLabel1.setText(“Nome:”);

      jLabel2.setText(“Código:”);

      jLabel3.setText(“CRM”);

      javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
      jPanel1.setLayout(jPanel1Layout);
      jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addComponent(jLabel1)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 34, Short.MAX_VALUE)
      .addComponent(campoNome, javax.swing.GroupLayout.PREFERRED_SIZE, 325, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jLabel2)
      .addComponent(jLabel3))
      .addGap(28, 28, 28)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
      .addComponent(campoCrm)
      .addComponent(campoCodigo, javax.swing.GroupLayout.DEFAULT_SIZE, 96, Short.MAX_VALUE))))
      .addContainerGap())
      );
      jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel1)
      .addComponent(campoNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(18, 18, 18)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel2)
      .addComponent(campoCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(18, 18, 18)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel3)
      .addComponent(campoCrm, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );

      jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(“Cadastro:”));

      jButton1.setText(“Gravar”);
      jButton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jButton1ActionPerformed(evt);
      }
      });

      jButton2.setText(“Voltar”);
      jButton2.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jButton2ActionPerformed(evt);
      }
      });

      javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
      jPanel2.setLayout(jPanel2Layout);
      jPanel2Layout.setHorizontalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addComponent(jButton1)
      .addGap(32, 32, 32)
      .addComponent(jButton2))
      );
      jPanel2Layout.setVerticalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jButton1)
      .addComponent(jButton2))
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );

      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)
      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );

      pack();
      }//

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    Medico adicionar = new Medico();
    adicionar.setNome(this.campoNome.getText());
    adicionar.setCodigo(this.campoCodigo.getText());
    adicionar.setCrm(this.campoCrm.getText());
    try {
    fachada.inserirMedico(adicionar);
    JOptionPane.showMessageDialog(this, “Médico cadastrado com sucesso.”);
    } catch (ExcecaoMedico ex) {
    JOptionPane.showMessageDialog(this, ex.getMessage());
    }
    campoNome.setText(null);
    campoCodigo.setText(null);
    campoCrm.setText(null);
    } [/code]

E a outra dúvida é na hora de cadastrar minha consulta.

[code]package hospital;

import hospital.Consultas.Consulta;
import hospital.Consultas.ExcecaoConsulta;
import hospital.Medicos.Medico;
import hospital.Pacientes.Paciente;
import java.util.ArrayList;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JOptionPane;

/**
*

  • @author Giba
    */
    public class FormCadastroConsulta extends javax.swing.JFrame {

    ArrayList listarPaciente;
    ArrayList listarMedico;
    Fachada fachada;

    /** Creates new form FormCadastroConsulta */
    private FormCadastroConsulta() {
    initComponents();
    }

    public FormCadastroConsulta(Fachada fachada) {
    initComponents();
    this.fachada = fachada;
    this.Carregar();

    }

    public void Carregar() {
    listarPaciente = fachada.ListarPaciente();
    String[] lista = new String[listarPaciente.size()];
    DefaultComboBoxModel modelo = new DefaultComboBoxModel();

     for (int i = 0; i < listarPaciente.size(); i++) {
         lista[i] = "Nome: " + listarPaciente.get(i).getNome() + ", " + " Código: " + listarPaciente.get(i).getCodigo() + ", " + "Data de nascimento: " + listarPaciente.get(i).getDatanasci() + ", " + " Cpf: " + listarPaciente.get(i).getCpf() + ", " + " Telefone: " + listarPaciente.get(i).getTelefone() + ", " + " Sexo: " + listarPaciente.get(i).getSexo() + ".";
         modelo.addElement(lista[i]);
     }
     ComboBoxPaciente.setModel(modelo);
     //fazer aqui o carregamento dos medicos
     listarMedico = fachada.ListarMedico();
     lista = new String[listarMedico.size()];
     modelo = new DefaultComboBoxModel();
     for (int i = 0; i < listarMedico.size(); i++) {
         lista[i] = "Nome: " + listarMedico.get(i).getNome() + ", " + " Código: " + listarMedico.get(i).getCodigo() + ", " + "CRM: " + listarMedico.get(i).getCrm() + ".";
         modelo.addElement(lista[i]);
     }
     ComboBoxMedico.setModel(modelo);
    

    }

    /** 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() {

      jPanel1 = new javax.swing.JPanel();
      jLabel1 = new javax.swing.JLabel();
      campoCodigo = new javax.swing.JTextField();
      jLabel2 = new javax.swing.JLabel();
      campoDataconsulta = new javax.swing.JTextField();
      jLabel3 = new javax.swing.JLabel();
      campoHoraconsulta = new javax.swing.JTextField();
      jLabel4 = new javax.swing.JLabel();
      jLabel5 = new javax.swing.JLabel();
      campoDatamarc = new javax.swing.JTextField();
      campoHoramarc = new javax.swing.JTextField();
      jLabel6 = new javax.swing.JLabel();
      ComboPrimeiravez = new javax.swing.JComboBox();
      jLabel7 = new javax.swing.JLabel();
      ComboBoxPaciente = new javax.swing.JComboBox();
      jLabel8 = new javax.swing.JLabel();
      ComboBoxMedico = new javax.swing.JComboBox();
      jPanel2 = new javax.swing.JPanel();
      jButton1 = new javax.swing.JButton();
      jButton2 = new javax.swing.JButton();

      setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

      jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(“Dados da Consulta”));

      jLabel1.setText(“Código:”);

      jLabel2.setText(“Data da consulta:”);

      jLabel3.setText(“Hora da consulta:”);

      jLabel4.setText(“Data da marcação:”);

      jLabel5.setText(“Hora da marcação:”);

      jLabel6.setText(“Primeira vez:”);

      ComboPrimeiravez.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “Sim”, “Não” }));

      jLabel7.setText(“Médico:”);

      jLabel8.setText(“Paciente:”);

      javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
      jPanel1.setLayout(jPanel1Layout);
      jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addComponent(jLabel1)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(campoCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jLabel2)
      .addComponent(jLabel3)
      .addComponent(jLabel7))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(campoDataconsulta, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addComponent(ComboPrimeiravez, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(campoHoraconsulta, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)))
      .addGap(39, 39, 39)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addComponent(jLabel4)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(campoDatamarc, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addComponent(jLabel5)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(campoHoramarc, javax.swing.GroupLayout.DEFAULT_SIZE, 12, Short.MAX_VALUE))))
      .addComponent(ComboBoxMedico, 0, 350, Short.MAX_VALUE))))
      .addComponent(jLabel6)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addComponent(jLabel8)
      .addGap(44, 44, 44)
      .addComponent(ComboBoxPaciente, 0, 350, Short.MAX_VALUE)))
      .addContainerGap())
      );
      jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel1)
      .addComponent(campoCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(18, 18, 18)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel2)
      .addComponent(campoDataconsulta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel3)
      .addComponent(campoHoraconsulta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel6)
      .addComponent(ComboPrimeiravez, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addGap(35, 35, 35)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel4)
      .addComponent(campoDatamarc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jLabel5)
      .addComponent(campoHoramarc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addComponent(jLabel7)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jLabel8))
      .addGroup(jPanel1Layout.createSequentialGroup()
      .addComponent(ComboBoxMedico, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(ComboBoxPaciente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
      .addContainerGap(20, Short.MAX_VALUE))
      );

      jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(“Cadastro”));

      jButton1.setText(“Gravar”);
      jButton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jButton1ActionPerformed(evt);
      }
      });

      jButton2.setText(“Voltar”);

      javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
      jPanel2.setLayout(jPanel2Layout);
      jPanel2Layout.setHorizontalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jButton1)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jButton2)
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );
      jPanel2Layout.setVerticalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jButton1)
      .addComponent(jButton2))
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );

      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)
      .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addContainerGap()
      .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );

      pack();
      }//

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    Consulta add = new Consulta();
    add.setCodigo(this.campoCodigo.getText());
    add.setDataconsulta(this.campoDataconsulta.getText());
    add.setHoraconsulta(this.campoHoraconsulta.getText());
    add.setDatamarc(this.campoDatamarc.getText());
    add.setHoramarc(this.campoHoramarc.getText());
    add.setPrimeiravez((String) ComboPrimeiravez.getSelectedItem());
    add.setMedico((Medico) ComboBoxMedico.getSelectedItem());
    add.setPaciente((Paciente) ComboBoxPaciente.getSelectedItem());
    try {
    fachada.InserirConsulta(add);
    JOptionPane.showMessageDialog(this, “Consulta cadastrada com sucesso.”);
    } catch (ExcecaoConsulta ex) {
    JOptionPane.showMessageDialog(this, ex.getMessage());
    }
    } [/code]

Eu tenho meus campos e 3 combobox. Só que em 2 dos combobox ao abrir o meu formulário de cadastroConsulta já vem carregado os Médicos e Pacientes cadastrados para eu cadastrar na minha consulta. Só que eu não tou conseguindo fazer esse infeliz aparecer na minha lista para que eu possa fazer minha consulta.

Vou mostrar meu botão de consulta Médico.

[code]if (!campoCrm.getText().trim().equals("")) {
medico.setCrm(campoCrm.getText());
medico = fachada.ConsultarMedico(medico);
String[] s = new String[1];
s[0] = “Nome:” + " " + medico.getNome() + ", " + “Código:” + " " + medico.getCodigo() + ", " + “Crm:” + " " + medico.getCrm() + “.”;
lista.setListData(s);
} else {

        listar = fachada.ListarMedico();
        String[] s = new String[listar.size()];
        lista.setListData(s);
        for (int i = 0; i < listar.size(); i++) {
            s[i] = "Nome: " + listar.get(i).getNome() + ", " + " Código: " + listar.get(i).getCodigo() + ", " + "CRM: " + listar.get(i).getCrm() + ".";

        }
        lista.setListData(s);
    }[/code]

Lista é o nome do meu Jlist. Se alguem puder me ajudar. Não sei se foi necessario postar esse mundo de código mas ta ai. Valeu.

Cara, o seu codigo esta bem “avantajado”!!
Seria melhor vc disponibilizar o fonte em arquivo pra download pra galera analisar numa IDE, pois assim fica meio complicado!!
posta ai!
Quero ver tbm… :slight_smile: :!:

[quote=Metal Java Full]Cara, o seu codigo esta bem “avantajado”!!
Seria melhor vc disponibilizar o fonte em arquivo pra download pra galera analisar numa IDE, pois assim fica meio complicado!!
posta ai!
Quero ver tbm… :slight_smile: :!: [/quote]

Eu fiz pelo NetBeans. Que site eu poderia postar ele pra galera poder baixar ?

Exporta seu projeto com a opção de exportar codigo fonte e passa aqui pelo forum mesmo

Achei ta aqui para vocês darem uma olhada.

Quanto ao problema do cadastro de consulta, você, em FormCadastroConsula.Carregar(), coloca Strings representando os médicos/pacientes. Isso está errado, pois quando você precisar resgatar um médico/paciente não haverá! Na verdade será uma String.

A solução é ao invés de adiciona uma String contendo a descrição, você deve adicionar o próprio médico/paciente. E para a parte de apresentação, você deve sobreescrever o método toString() na classe Medico e na classe Paciente.

Seu método ficaria assim:

listarPaciente = fachada.ListarPaciente();
		DefaultComboBoxModel modelo = new DefaultComboBoxModel();
		for (int i = 0; i < listarPaciente.size(); i++) {
			modelo.addElement(listarPaciente.get(i));
		}
		ComboBoxPaciente.setModel(modelo);
		// fazer aqui o carregamento dos medicos
		listarMedico = fachada.ListarMedico();
		modelo = new DefaultComboBoxModel();
		for (int i = 0; i < listarMedico.size(); i++) {
			modelo.addElement(listarMedico.get(1));
		}
		ComboBoxMedico.setModel(modelo);

Depois disso basta sobreescrever o método toString para que ele retorne uma representação amigável.

Assim que fizer isso, poste as demais dúvidas pois está bem difícil caça-las no post original.