我已经创建了一个扩展 DefaultTableModel 的表模型。
public class TableModel extends DefaultTableModel {
List<VariableDetails> data;
public AttachedVariableTableModel(){
super();
this.data=Collections.synchronizedList(new ArrayList<VariableDetails>());
}
//method for adding rows
public void addRow(VariableDetails varDetails){
this.data.add(varDetails);
fireTableRowsInserted(this.data.size()-1,this.data.size()-1);
}
}
我试图向已有数据的表中添加行。
tModel.addRow(new VariableDetails());
但无法添加行。没有异常和错误。这里到底出了什么问题?我该如何解决这个问题?提前致谢。
最佳答案
为什么有
super();
DefaultTableModel
可以添加Object[]
或Vector
必须覆盖
AbstractTableModel
,而不是DefaultTableModel
,必须覆盖所有get/set
methods , 在方法中使用适当的fireXxxXxx()
,否则 View 中没有可见的东西 (JTable
)可以从 List Table Model 开始或 Row Table Model
关于java - 通过自定义表模型将行添加到 jtable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13283916/