Meu Programa java está fechando do nada sempre que tento executar essa instrução:
DefaultTableModel tableModel =(DefaultTableModel) getTabela().getModel();
tableModel.setNumRows(0);
getTabela().setModel(getMdlCamposTabela());
Meu Model:
private DefaultTableModel getMdlCamposTabela() {
if (mdlCamposTabela == null) {
mdlCamposTabela = new DefaultTableModel();
mdlCamposTabela.addColumn("Código");
mdlCamposTabela.addColumn("Nome");
mdlCamposTabela.addColumn("Motor");
mdlCamposTabela.addColumn("Cilindradas");
mdlCamposTabela.addColumn("Válvulas");
mdlCamposTabela.addColumn("Marca");
mdlCamposTabela.addColumn("Do Ano");
mdlCamposTabela.addColumn("Até o Ano");
mdlCamposTabela.addColumn("Ar-Condicionado");
mdlCamposTabela.addColumn("Direção Hidráulica");
}
try {
while (newModelo.getModelo().next()) {
mdlCamposTabela.addRow(new Object[] { newModelo.getCod(),
newModelo.getNome(),
returnMotor(newModelo.getMotor_Cod()),
newModelo.getCilindradas(),
newModelo.getValvulas(),
returnMarca(newModelo.getMarca_Cod()),
newModelo.getPartirAno(),
newModelo.getAteAno(),
returnBoolean(newModelo.getArCondicionado()),
returnBoolean(newModelo.getDirecaoHidraulica()) });
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erro:" + e.getMessage(),
"Erro", JOptionPane.ERROR_MESSAGE);
}
return mdlCamposTabela;
}
Minha JTable:
private JXTable getTabela() {
if (Tabela == null) {
Tabela = new JXTable(getMdlCamposTabela());
Tabela.setEditable(false);
Tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
Tabela.setColumnControlVisible(true);
Tabela.setSortOrder(0, SortOrder.ASCENDING);
Tabela.getColumnExt("Código").setSortable(true);
Highlighter hl = new AlternateRowHighlighter(UIManager
.getColor("Panel.background"), Color.WHITE, Color.BLACK);
Tabela.setHighlighters(new Highlighter[] { hl });
Tabela.setBounds(new Rectangle(0, 35, 498, 218));
Tabela.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
Tabela.setHorizontalScrollEnabled(true);
Tabela.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_DELETE) {
excluirRegistro();
} else if (key == KeyEvent.VK_E) {
editarRegistro();
}
}
});
}
return Tabela;
}
Por favor me ajudem