Eae Pessoal tenho um projeto que quero mostrar dados do Banco de Dados em uma JTable mas quando eu vou testar aparece o seguinte erro:
Agora esse são os prints das linhas que o erro aponta:
For nescessario eu mando o codigo inteiro
Eae Pessoal tenho um projeto que quero mostrar dados do Banco de Dados em uma JTable mas quando eu vou testar aparece o seguinte erro:
Agora esse são os prints das linhas que o erro aponta:
For nescessario eu mando o codigo inteiro
Qual a dificuldade em copiar e colar o código, o erro e o que mais for preciso aqui?
Cara, imagens atrapalham demais para quem vai tentar ajudar.
O que tem na linha 31 da classe FormMedico?
Ta ai cógido completo:
public class FormMedico extends javax.swing.JFrame {
ConexaoBD conex = new ConexaoBD();
DaoMedico contromed = new DaoMedico();
BeansMedico modmed = new BeansMedico();
int flag = 0;
}
public FormMedico() {
initComponents();
DefaultTableModel modelo = (DefaultTableModel) TabelaMedico.getModel();
TabelaMedico.setRowSorter(new TableRowSorter(modelo));
readJtable();
}
public final void readJtable() {
DefaultTableModel modelo = (DefaultTableModel) TabelaMedico.getModel();
modelo.setNumRows(0);
DaoMedico mdao = new DaoMedico();
}
for(BeansMedico m : mdao.read()){ //Essa é a linha 31
modelo.addRow(new Object[]{
m.getCodigo(),
m.getNome(),
m.getEspec(),
m.getCrm()
});
}
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
lblNome = new javax.swing.JLabel();
lblCRM = new javax.swing.JLabel();
lblEspc = new javax.swing.JLabel();
txtNome = new javax.swing.JTextField();
slctEspc = new javax.swing.JComboBox<>();
btnNovo = new javax.swing.JButton();
btnSalvar = new javax.swing.JButton();
btnExcluir = new javax.swing.JButton();
btnEditar = new javax.swing.JButton();
btnCancelar = new javax.swing.JButton();
lblDataNasc = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
TabelaMedico = new javax.swing.JTable();
jPanel2 = new javax.swing.JPanel();
lblPesquisar = new javax.swing.JLabel();
txtPesquisa = new javax.swing.JTextField();
btnPesquisa = new javax.swing.JButton();
txtfCrm = new javax.swing.JFormattedTextField();
txtfDatanasc = new javax.swing.JFormattedTextField();
lblID = new javax.swing.JLabel();
txtID = new javax.swing.JTextField();
lblTitulo = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jPanel1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
lblNome.setFont(new java.awt.Font("Arial", 0, 11)); // NOI18N
lblNome.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblNome.setText("Nome:");
lblCRM.setFont(new java.awt.Font("Arial", 0, 11)); // NOI18N
lblCRM.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblCRM.setText("CRM:");
lblEspc.setFont(new java.awt.Font("Arial", 0, 11)); // NOI18N
lblEspc.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblEspc.setText("Especialização:");
txtNome.setEnabled(false);
slctEspc.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Cirurgião", "Anestesista", "Enfermeiro", "Auxiliar" }));
slctEspc.setEnabled(false);
btnNovo.setText("Novo");
btnNovo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnNovoActionPerformed(evt);
}
});
btnSalvar.setText("Salvar");
btnSalvar.setEnabled(false);
btnSalvar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnSalvarActionPerformed(evt);
}
});
btnExcluir.setText("Excluir");
btnExcluir.setEnabled(false);
btnExcluir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnExcluirActionPerformed(evt);
}
});
btnEditar.setText("Editar");
btnEditar.setEnabled(false);
btnEditar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnEditarActionPerformed(evt);
}
});
btnCancelar.setText("Cancelar");
btnCancelar.setEnabled(false);
btnCancelar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCancelarActionPerformed(evt);
}
});
lblDataNasc.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblDataNasc.setText("Data de nascimento:");
TabelaMedico.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"ID", "Nome", "Especialidade", "CRM"
}
) {
boolean[] canEdit = new boolean [] {
false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
jScrollPane1.setViewportView(TabelaMedico);
jPanel2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
lblPesquisar.setText(" Pesquisar:");
btnPesquisa.setText("Pesquisar");
btnPesquisa.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnPesquisaActionPerformed(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(lblPesquisar, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txtPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btnPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 19, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(2, 2, 2)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblPesquisar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnPesquisa)))
);
txtfCrm.setEnabled(false);
txtfDatanasc.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.DateFormatter(new java.text.SimpleDateFormat("dd/MM/yyyy"))));
txtfDatanasc.setEnabled(false);
lblID.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblID.setText("ID:");
txtID.setEnabled(false);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(38, 38, 38)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(lblNome, javax.swing.GroupLayout.DEFAULT_SIZE, 94, Short.MAX_VALUE)
.addComponent(lblCRM, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(btnEditar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnNovo, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(btnSalvar, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnExcluir, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addComponent(lblID, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(48, 48, 48)))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(txtfCrm)
.addComponent(txtNome, javax.swing.GroupLayout.DEFAULT_SIZE, 193, Short.MAX_VALUE))
.addComponent(txtID, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblEspc, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblDataNasc, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(slctEspc, 0, 136, Short.MAX_VALUE)
.addComponent(txtfDatanasc))
.addGap(53, 53, 53))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 523, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(23, Short.MAX_VALUE))))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(34, 34, 34)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblEspc)
.addComponent(slctEspc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtID, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblID, javax.swing.GroupLayout.Alignment.TRAILING))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblDataNasc)
.addComponent(txtfDatanasc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lblNome)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lblCRM)
.addComponent(txtfCrm, 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(btnNovo)
.addGap(5, 5, 5)
.addComponent(btnSalvar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnEditar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnExcluir, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnCancelar))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(22, Short.MAX_VALUE))
);
lblTitulo.setFont(new java.awt.Font("Arial", 1, 18)); // NOI18N
lblTitulo.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblTitulo.setText("Cadastro de médicos");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(190, 190, 190)
.addComponent(lblTitulo, javax.swing.GroupLayout.PREFERRED_SIZE, 293, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(28, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(lblTitulo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(21, Short.MAX_VALUE))
);
pack();
} </editor-fold>
private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
if(flag==1){
modmed.setNome(txtNome.getText());
modmed.setEspec((String) slctEspc.getSelectedItem());
modmed.setCrm(Integer.parseInt(txtfCrm.getText()));
contromed.Salvar(modmed);
txtNome.setText("");
txtfCrm.setText("");
txtNome.setEnabled(false);
txtfCrm.setEnabled(false);
slctEspc.setEnabled(false);
btnSalvar.setEnabled(false);
readJtable();
}else{
modmed.setNome(txtNome.getText());
modmed.setEspec((String) slctEspc.getSelectedItem());
modmed.setCrm(Integer.parseInt(txtfCrm.getText()));
modmed.setCodigo(Integer.parseInt(txtID.getText()));
contromed.Editar(modmed);
txtNome.setEnabled(false);
txtfCrm.setEnabled(false);
slctEspc.setEnabled(false);
btnSalvar.setEnabled(false);
readJtable();
}
}
private void btnPesquisaActionPerformed(java.awt.event.ActionEvent evt) {
modmed.setPesquisa(txtPesquisa.getText());
BeansMedico model = contromed.buscaMedico(modmed);
txtID.setText(String.valueOf(model.getCodigo()));
txtNome.setText(model.getNome());
slctEspc.setSelectedItem(model.getEspec());
txtfCrm.setText(String.valueOf(model.getCrm()));
btnEditar.setEnabled(true);
btnExcluir.setEnabled(true);
btnSalvar.setEnabled(false);
btnNovo.setEnabled(false);
}
private void btnNovoActionPerformed(java.awt.event.ActionEvent evt) {
flag = 1;
txtNome.setEnabled(true);
txtfCrm.setEnabled(true);
slctEspc.setEnabled(true);
btnSalvar.setEnabled(true);
btnCancelar.setEnabled(true);
}
private void btnEditarActionPerformed(java.awt.event.ActionEvent evt) {
flag = 2;
btnSalvar.setEnabled(true);
btnNovo.setEnabled(false);
btnCancelar.setEnabled(true);
slctEspc.setEnabled(true);
txtNome.setEnabled(true);
txtfCrm.setEnabled(true);
btnCancelar.setEnabled(true);
btnEditar.setEnabled(false);
btnExcluir.setEnabled(false);
}
private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
btnSalvar.setEnabled(!true);
btnNovo.setEnabled(!false);
btnCancelar.setEnabled(true);
slctEspc.setEnabled(!true);
txtNome.setEnabled(!true);
txtfCrm.setEnabled(!true);
btnCancelar.setEnabled(!true);
btnEditar.setEnabled(false);
btnExcluir.setEnabled(false);
txtNome.setText("");
txtfCrm.setText("");
txtID.setText("");
}
private void btnExcluirActionPerformed(java.awt.event.ActionEvent evt) {
int resposta;
resposta = JOptionPane.showConfirmDialog(rootPane,"Realmente dejesa excluir OS CAMPOS?");
if(resposta ==JOptionPane.YES_OPTION){
modmed.setCodigo(Integer.parseInt(txtID.getText()));
contromed.Excluir(modmed);
txtNome.setText("");
txtfCrm.setText("");
txtID.setText("");
}
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(FormMedico.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(FormMedico.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(FormMedico.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(FormMedico.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new FormMedico().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JTable TabelaMedico;
private javax.swing.JButton btnCancelar;
private javax.swing.JButton btnEditar;
private javax.swing.JButton btnExcluir;
private javax.swing.JButton btnNovo;
private javax.swing.JButton btnPesquisa;
private javax.swing.JButton btnSalvar;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel lblCRM;
private javax.swing.JLabel lblDataNasc;
private javax.swing.JLabel lblEspc;
private javax.swing.JLabel lblID;
private javax.swing.JLabel lblNome;
private javax.swing.JLabel lblPesquisar;
private javax.swing.JLabel lblTitulo;
private javax.swing.JComboBox<String> slctEspc;
private javax.swing.JTextField txtID;
private javax.swing.JTextField txtNome;
private javax.swing.JTextField txtPesquisa;
private javax.swing.JFormattedTextField txtfCrm;
private javax.swing.JFormattedTextField txtfDatanasc;
// End of variables declaration
}
Cara, preciso saber o que tem na linha 31 da classe FormMedico, só postar o código não vai me ajudar 
NullPointerException significa que você tentou acessar um membro de um objeto, mas esse objeto não foi inicializado, ou seja, está com referência null.
Na sua linha 31 há o seguinte código:
for (BeansMedico m : mdao.read()) {
....
}
O objeto mdao você inicializou antes do for, então é o seu método read() que está está retornando null e impossibilitando a execução do laço.
Outra coisa, não fique adicionando arrays de objetos em um DefaultTableModel, implemente o seu próprio TableModel para renderizar uma lista de BeansMedico.
ja consegui resolver criando meu proprio Table Model, bem melhor !