Я пишу некоторые методы сохранения пользовательского интерфейса для приложения. Я пытаюсь расшириться до JXTable с фиксированным набором столбцов N в модели таблицы.
Как я могу получить и установить следующую информацию для столбца #k в JXTable, где k — это номер столбца в порядке модели таблицы? Это не так просто, как кажется, или, по крайней мере, мне не хватает какая-то хитрая информация.
- ширина колонки
- видимость столбца
- порядок столбцов
TableColumnModelExt.getColumns()
содержит эту сумасшедшую заметку, которую я не могу разобрать:
java.util.List<javax.swing.table.TableColumn> getColumns(boolean includeHidden)
Возвращает список содержащихся столбцов таблицы. Включает или исключает невидимые столбцы в зависимости от того, имеет ли свойство includeHidden значение true или false соответственно. Если false, итератор по списку эквивалентен перечислению, возвращаемому функцией getColumns().
ПРИМЕЧАНИЕ: порядок столбцов в списке зависит от того, включены ли невидимые столбцы, в первом случае это порядок вставки, во втором - текущий порядок видимых столбцов.
Кроме того, я знаю, как использовать JTable.convertColumnIndexToView()
, но возвращает -1 для скрытых столбцов и не оставляет информации о том, в каком порядке будет располагаться скрытый столбец, если его снова сделать видимым. JXTable знает эту информацию, потому что вы можете восстановить видимость столбца, и он помещает столбец туда, где он был до того, как был скрыт.