默认情况下,如果JTable的行排序器中有多个SortKey,则每次单击列标题都会使该列的SortKey成为主列。
我需要更改此行为,因此第一次单击列标题会使SortKey成为主要行为,单击到另一个列标题会使该列的SortKey成为辅助列,依此类推。
此外,当达到maxSortKeys时,单击另一个(未排序的)列将触发排序键的混乱。新单击的列将具有优先级最低的SortKey,主键列将丢失其SortKey,具有辅助SortKey的列将成为主要的等等。
目前,我实现了自己的TableHeader,以便在用户点击列标题时捕获事件,以便适当地改变SortKeys。
用一个例子说明它:
[ One | Two ↑1 | Three ↓2 | Four | Five ↑3 ]
[ | | | | ]
用户点击第一列的标题后:
[ One ↑3 | Two | Three ↓1 | Four | Five ↑2 ]
[ | | | | ]
我想知道您是否认为这是一种好方法?
答案 0 :(得分:1)
需要覆盖每列的SortKeys
,因为每列应该是自己的arrays of SortKeys
(如果需要,请确定)
有理由在SortKeys
的可见矩形回归中使用最大6-8 JViewport
,其他我可以通过重新绘制来看到JScrollPane
内的性能问题和鬼魂
SortOrder.UNSORTED
不是初始排序顺序,JTables
视图无法存储,请记住,不知道正确的方法,只能从其JTable
刷新model
{1}}
您可以以编程方式显示排序图标