Обновление количества столбцов в TableModel - PullRequest
2 голосов
/ 29 сентября 2011

Я использую DataModel, которая расширяет AbstractTableModel для моей Jtable. Когда я использую конструктор JTable main = new JTable(model); все работает нормально, но когда я добавляю столбцы в свою DataModel и вызываю this.fireTableStructureChanged(), количество столбцов не обновляется, как видно из следующего примера.

Example

Это показывает JTable, инициализированный с моей DataModel, который содержал 3 строки и 3 столбца. Модель данных обновлена ​​до 4 строк и 4 столбцов, но отображает только 3 столбца.

Кажется, что мое изменение неверно, потому что:

JTable.getColumnCount() shows 3
but DataModel.getColumnCount() shows 4

Как я могу сказать Таблице, что количество столбцов изменилось, и оно должно перекрасить их?

1 Ответ

3 голосов
/ 29 сентября 2011

JTable также имеет TableColumnModel, которая содержит все отображаемые столбцы. Когда вы добавляете другой столбец в модель, модель столбцов по-прежнему имеет старое число столбцов, если только для свойства таблицы autoCreateColumnsFromModel не установлено значение true (table.setAutoCreateColumnsFromModel(true)).

Другой способ - вручную добавить еще один столбец в модель столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...