JTable から 1 行を削除して更新する方法を理解するためにほぼ 2 時間試みましたが、どういうわけかうまくいきません。次のコードを使用します。
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);
これを行うと、次のエラーが発生します: Exception in thread "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つあります:(