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