我的代碼應該比較兩個JTable並在單元中搜索特定的單詞。 如果找到該單詞,則應刪除該行。 問題是,並非所有行都被刪除。用戶必須按幾次刪除按鈕才能刪除所有行。如何根據行中的某些文本刪除行中的行
public class DeleteCleareadTable1Rows extends Thread {
@Override
public void run() {
for (int i = 0; i < table1.getRowCount(); i++) {
int modelIndex = table1.convertRowIndexToModel(i);
String status = table1.getModel().getValueAt(modelIndex, 9).toString();
if (status.equalsIgnoreCase("Cleared")) {
deleteRow(table1, table1Model, i);
}
}
}
}
public static void deleteRow(JTable table, DefaultTableModel model, int rowNo) {
try{
model.removeRow(rowNo);
model.fireTableDataChanged();
table.setModel(model);
}catch(ArrayIndexOutOfBoundsException |NullPointerException a){}
}
你會得到例外嗎?打印一下,看看是否在你期望的時候調用'deleteRow'方法。可能有助於查明問題 – Danielson
我無法獲得任何例外。一些行被刪除,但不是全部 –
1.爲了更好的幫助,儘快發佈一個SSCCE/MCVE,短小,可運行,可編譯的硬編碼值,用於局部變量的兩個模型,三個簡短的問題2. extends Thread {???,3.靜態???)public static void deleteRow,3。 model.fireTableDataChanged();對於DefaultTableModel? – mKorbel