我做了一个自定义的AbstractTableModel。构造函数使用文件中的数据初始化模型。但是,我希望为模型添加一个额外的列(这是因为其列中存在SQL限制)。
我试图通过向初始化代码添加对addColumn(String columnName,Vector columnData)方法的调用来实现此目的。
我的自定义AbstractTableModel中的addColumn方法直接来自DefaultTableModel的addColumn方法,包括“fireTableStructureChanged()”。
然而当我运行这段代码时,fireTableStructureChanged()似乎不会添加我的新列,而JTable只显示来自文件的数据。为什么会这样呢?
以下是我正在使用的代码的简短说明:
public class Dummy extends AbstractTableModel {
public Dummy() {
//load data from SQL file into ResultSets
//transfer ResultSet.metadata into columnHeaders Vector
//transfer ResultSet.data into columnDatums Vector
fireTableChanged(null);
addColumn("Added Heading", (Vector)null);
}
public addColumn(String columnHeader, Vector columnData) {
columnHeaders.add(columnHeader);
// transfer columnData into columnDatums
fireTableStructureChanged();
}
}它是一个监听器问题 - 在这个时候没有什么可以听取fireTableStructureChanged()?