Я сделал пользовательскую модель 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()?