我正在为应用程序编写一些 UI 持久性方法。我正在尝试扩展为在表模型中具有一组固定的 N 列的 JXTable。
如何获取和设置 JXTable 中列 #k 的以下信息,其中 k 是表模型顺序中的列号?这并不像听起来那么容易,或者至少我错过了一些棘手的信息。
- 列宽
- 列可见性
- 列顺序
TableColumnModelExt.getColumns()
包括这个疯狂的笔记,我无法解析:
java.util.List<javax.swing.table.TableColumn> getColumns(boolean includeHidden)
返回包含的 TableColumns 的列表。包括或排除不可见的列,具体取决于 includeHidden 是真还是假。如果为 false,则 List 上的 Iterator 等效于 getColumns() 返回的 Enumeration。
注意:列表中列的顺序取决于是否包含不可见列,在前一种情况下是插入顺序,在后一种情况下是可见列的当前顺序。
另外,我知道如何使用JTable.convertColumnIndexToView()
,但它为隐藏列返回 -1 ,并且没有留下关于如果隐藏列再次可见时隐藏列的顺序的信息。JXTable 知道这些信息,因为您可以恢复列的可见性,并将列置于隐藏之前的位置。