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