Я сделал пользовательскую AbstractTableModel. Конструктор инициализирует модель с данными из файла. Однако я хочу добавить в модель дополнительный столбец (это связано с ограничениями SQL в ее столбцах).
Я стремлюсь к этому, добавляя в код инициализации вызов метода addColumn (String columnName, Vector columnData).
Этот метод addColumn в моем пользовательском AbstractTableModel получен непосредственно из метода addColumn DefaultTableModel, включая "fireTableStructureChanged ()".
Тем не менее, когда я запускаю этот код, fireTableStructureChanged () появляется не для добавления моего нового столбца, а JTable отображается только с данными из файла. Почему это может быть?
Вот краткое обозначение кода, который я использую:
public class Dummy extends AbstractTableModel {
public Dummy() {
//load data from SQL file into ResultSets
//transfer ResultSet.metadata into columnHeaders Vector<String>
//transfer ResultSet.data into columnDatums Vector<String>
fireTableChanged(null);
addColumn("Added Heading", (Vector)null);
}
public addColumn(String columnHeader, Vector columnData) {
columnHeaders.add(columnHeader);
// transfer columnData into columnDatums
fireTableStructureChanged();
}
}
Это проблема слушателя - ничего не слушает в данный момент времени fireTableStructureChanged ()?