我正在進行項目的最後部分,這是我遇到的最後一個問題之一。這部分用於編輯預訂,即更改爲特定預訂預訂的房間。 我有2個JTables,一個有可用房間,另一個房間已經預訂了預訂。兩者都有單獨的DefaultTable模型和2D對象數組。 我在兩個表格之間有一個添加和刪除按鈕,它們交換了您選擇的行。我想我不刷新2D數組。在第二次嘗試添加另一行時,模型仍然是指原始二維數組,因爲我不從二維數組中移除該行,所以它給了我錯誤的行數據。將行從JTable添加到另一個JTable中
是否有更簡單的方法使用JTable/model方法解決此問題,而不是創建臨時2D對象數組來排除選定的行?
以下示例代碼顯示ActionPerformed代碼。
if(e.getSource().equals(addRow)){
System.out.println(tableLeft.getSelectedRow());
if(tableLeft.getSelectedRow() == -1){ //if no row selected
}
else{
model.insertRow(tableRight.getRowCount(),array2dLeft[tableLeft.getSelectedRow()]);
modelLeft.removeRow(tableLeft.getSelectedRow());
modelLeft.fireTableRowsDeleted(tableLeft.getSelectedRow(),tableLeft.getSelectedRow());
txtTotalCost.setText("€" + getTotalCost());
}
}
if(e.getSource().equals(removeRow)){
if(tableRight.getSelectedRow() == -1){ //if no row selected
}
else{
modelLeft.insertRow(tableLeft.getRowCount(),array2dLeft[tableRight.getSelectedRow()]);
model.removeRow(tableRight.getSelectedRow());
txtTotalCost.setText("€" + getTotalCost());
}
}
}
啊,現在工作很好。我會在參考資料中給你一些功勞,謝謝! – Mark