我尝试了将近 2 个小时来弄清楚如何从 JTable 中删除和更新 1 行,但不知何故它不起作用。我使用以下代码:
DefaultTableModel modelTable = (DefaultTableModel) jTabelRooster.getModel();
modelTable.addRow(new Object[]{lid.getLidnummer().toString(), lid.getLidvoornaam(), lid.getLidtussenvoegsel(),lid.getLidachternaam(), lid.getAanwezig()});
好的,到目前为止一切都很好..很好地添加了行..但现在我想删除它们:
int SelectedRow = jTabelRooster.getSelectedRow();
modelTable.removeRow(SelectedRow);
当我这样做时,我收到以下错误: 线程“AWT-EventQueue-0”中的异常 java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
您的帮助将不胜感激
编辑: jTabelRooster 已被 gui 布局管理器插入所以我现在有这段代码,但我没有获得太多成功:
private void initRoosterDetail()
{
for(int i = 0; i < leden.size(); i++)
{
lid = leden.get(i);
modelTable.addRow(new Object[]{lid.getLidnummer().toString(), lid.getLidvoornaam(), lid.getLidtussenvoegsel(),lid.getLidachternaam(), lid.getAanwezig()});
}
}
private void jbInschrijvingVerwijderenActionPerformed(java.awt.event.ActionEvent evt) {
int SelectedRow = jTabelRooster.getSelectedRow();
modelTable.removeRow(jTabelRooster.convertRowIndexToModel(SelectedRow));
}
这一定是它:)
当我在表格中选择 1 行并按下取消按钮时.. 我收到此消息:
线程“AWT-EventQueue-0”中的异常 java.lang.ArrayIndexOutOfBoundsException: 2 >= 2
==================================================== ==================================================== ==================================================== ==================================================== ==================================================== ==================================================== ==============================
谢谢大家的帮助...我知道我做错了什么...这与我使用的 tableModelListener 有关..所以这给我留下了另一个问题:)
jTabelRooster.getModel().addTableModelListener(
new TableModelListener()
{
public void tableChanged(TableModelEvent evt)
{
if(jTabelRooster.getSelectedColumn() == 4)
{
}
}
});
这段代码弄乱了 deleterow 命令。
我有 1 个带有复选框的布尔列:(