Boa tarde pesoal,
estou a fazer um programa que lista na interface grafica algumas tabelas como pacientes e médicos.
O problema é que depois de listar uma vez a tabela, não consigo lista-lá novamente.
Me ajudem, por favor!
código que chama a tabela e seu model
private JMenuItem getJMenuItem_listar_paciente() {
if (jMenuItem_listar_paciente == null) {
jMenuItem_listar_paciente = new JMenuItem("Pacientes");
jMenuItem_listar_paciente.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
setFlagListar(1);
try {
List<Paciente> resultList;
PacienteDAO dao = new PacienteDAO();
resultList = dao.getLista();
PacienteTableModel modelo = new PacienteTableModel(resultList);
jTable_mostra_dados.setModel(modelo);
jTable_mostra_dados.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
scrollpane = new JScrollPane();
scrollpane.setViewportView(jTable_mostra_dados);
scrollpane.setBounds(25,50,650,100);
getContentPane().add(scrollpane,BorderLayout.CENTER);
setSize(700,500);
setVisible(true);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
}
return jMenuItem_listar_paciente;
}
Classe referente ao modelo da tabela
public class PacienteTableModel extends AbstractTableModel{
/**
*
*/
private static final long serialVersionUID = 1L;
private static final int COL_NOME = 0;
private static final int COL_CONVENIO = 1;
private static final int COL_DATA_NASCIMENTO = 2;
private static final int COL_TEL = 3;
private static final int COL_CEL = 4;
private static final int COL_ENDERECO = 5;
private static final int COL_CEP = 6;
private static final int COL_CIDADE = 7;
private static final int COL_ESTADO = 8;
private List<Paciente> listaPaciente;
public PacienteTableModel(List<Paciente> listaPaciente) {
this.listaPaciente = listaPaciente;
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return 9;
}
@Override
public int getRowCount() {
// TODO Auto-generated method stub
return listaPaciente.size();
}
public String getColumnName(int column) {
if (column == COL_NOME) return "Nome";
if (column == COL_CONVENIO) return "Convenio";
if (column == COL_DATA_NASCIMENTO) return "Data Nascimento";
if (column == COL_TEL) return "Telefone";
if (column == COL_CEL) return "Celular";
if (column == COL_ENDERECO) return "Endereço";
if (column == COL_CEP) return "CEP";
if (column == COL_CIDADE) return "Cidade";
if (column == COL_ESTADO) return "Estado";
return ""; //Nunca deve ocorrer
}
@Override
public Object getValueAt(int row, int column) {
Paciente titulo = listaPaciente.get(row);
if (column == COL_NOME) return titulo.getNome();
else if (column == COL_CONVENIO) return titulo.getConvenio();
else if (column == COL_DATA_NASCIMENTO) return titulo.getData_nascimento();
else if (column == COL_TEL) return titulo.getTel();
else if (column == COL_CEL) return titulo.getCel();
else if (column == COL_ENDERECO) return titulo.getEndereco();
else if (column == COL_CEP) return titulo.getCep();
else if (column == COL_CIDADE) return titulo.getCidade();
else if (column == COL_ESTADO) return titulo.getEstado();
throw new IllegalArgumentException("Invalid column");
//return ""; //Nunca deve ocorrer
}
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
Paciente titulo = listaPaciente.get(rowIndex);
if (columnIndex== COL_NOME) titulo.setNome(aValue.toString());
else if (columnIndex== COL_CONVENIO) titulo.setConvenio(aValue.toString());
else if (columnIndex== COL_DATA_NASCIMENTO) titulo.setData_nascimento(aValue.toString());
else if (columnIndex== COL_TEL) titulo.setTel(aValue.toString());
else if (columnIndex== COL_TEL) titulo.setCel(aValue.toString());
else if (columnIndex== COL_ENDERECO) titulo.setEndereco(aValue.toString());
else if (columnIndex== COL_CEP) titulo.setCep(aValue.toString());
else if (columnIndex== COL_CIDADE) titulo.setCidade(aValue.toString());
else if (columnIndex== COL_ESTADO) titulo.setEstado(aValue.toString());
}
public Class<?> getColumnClass(int columnIndex) {
if (columnIndex == COL_NOME) {
return String.class;
} else if (columnIndex == COL_CONVENIO) {
return String.class;
} else if (columnIndex == COL_DATA_NASCIMENTO) {
return String.class;
} else if (columnIndex == COL_CEL) {
return String.class;
} else if (columnIndex == COL_TEL) {
return String.class;
} else if (columnIndex == COL_ENDERECO) {
return String.class;
} else if (columnIndex == COL_CEP) {
return String.class;
} else if (columnIndex == COL_CIDADE) {
return String.class;
} else if (columnIndex == COL_ESTADO) {
return String.class;
} else {
return String.class;
}
}
public Paciente get(int row) {
return listaPaciente.get(row);
}
}