我嘗試了將近2個小時來弄清楚如何從JTable中刪除和更新1行,但不知何故,它不會工作。 我使用下面的代碼:從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佈局管理器 inserterd所以我有這樣的代碼,現在,我沒有得到太多的更迭:
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行,按cancelbutton ..我收到此消息:
異常在線程 「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個布爾列中如果沒有選定的行,然後jTabelRooster.getSelectedRow()
將返回-1
刪除檢查行是否選擇或因此才:(
建議您在這裏得到一個快速體面的答案:創建併發佈一個非常小的可編譯,可運行的示例程序,我們可以不加修改地運行並演示您的問題,[sscce](http://sscce.org)。 –
正如@HovercraftFullOfEels所建議的那樣發佈SSCCE或者至少是你的代碼的相關方法,這樣我們就不必匆忙地猜測錯誤的原因了......我的快速問題...顯示你的方法正在創建'modelTable'對象 –
@ user2445977:請不要在註釋中張貼代碼,因爲它會丟失所有格式並變得不可讀。請使用新代碼編輯您的問題。而關於[sscce](http://sscce.org),你越早發佈它,越早得到正確的答案。也可以考慮回覆本網站上其他問題的答案。我們是志願者,希望知道您已花時間閱讀我們的貢獻以及是否有幫助。您的回覆將有助於激勵他人爲您提供更多幫助。 –