0
刷新JTable
時出現問題。我從一個空的ArrayList
開始,在設置我選擇的組合框後,我將內容加載到ArrayList
,但JTable
不響應它 - 它仍然是空的。這是TableModel
的問題嗎?數據發生變化時刷新JTable
這是我的代碼...
public class ProjectTableModel extends AbstractTableModel{
private static final long serialVersionUID = 1L;
private static ArrayList<String> caseList = new ArrayList<String>();
@Override
public int getColumnCount() {
return 1;
}
@Override
public int getRowCount() {
return caseList.size();
}
@Override
public Object getValueAt(int row , int col) {
getRowCount();
switch(col){
case 0:
System.out.println("mam to");
return caseList.get(row);
}
return null;
}
public void setCaseList(String[] list){
for (int i =list.length - 1; i >= 0; i--) {
caseList.add(list[i]);
}
System.out.println(getRowCount());
fireTableDataChanged();
}
public String setValueAt(int row, int col){
return null;
}
public void addTestCase(String name) throws IOException{
File newDir = new File(TestCaseMaker.currentDir,
"Przypadek testowy"+(caseList.size()+1));
newDir.createNewFile();
caseList.add(name);
fireTableDataChanged();
}
public String getColumnName(int col) {
return "Przypadki testowe";
}
}
恐怕我還是沒有明白... – Swemack
只是出於好奇...如果你有一個不可編輯的表模型(這是不可編輯的,因爲沒有編輯器在'JTable'上)。我認爲這種方法在這種情況下根本不會被調用 – Robin
即使我的JTable沒有對數據模型的任何改變做出反應(ArrayList中內容的改變)。我在其他項目中使用了一個類似的網絡模型,它的工作非常完美。 – Swemack