Java 改变JTable多列排序行为的最简单方法是什么?
默认情况下,如果在JTable的行分类器中有多个SortKey,则每次单击列标题都会使该列的SortKey成为主SortKey 我需要更改此行为,以便第一次单击列标题时使该排序键成为主标题,单击另一列标题时使该列的排序键成为次标题,依此类推 此外,当到达maxSortKeys时,单击另一个(未排序)列将触发排序键的混乱。新单击的列将具有最低优先级的SortKey,主键列将丢失其SortKey,具有次SortKey的列将成为主列,以此类推 目前,我实现了自己的TableHeader,以便在用户单击列标题时捕获事件,以便适当地洗牌排序键 用一个例子来说明这一点:Java 改变JTable多列排序行为的最简单方法是什么?,java,swing,jtable,rowsorter,Java,Swing,Jtable,Rowsorter,默认情况下,如果在JTable的行分类器中有多个SortKey,则每次单击列标题都会使该列的SortKey成为主SortKey 我需要更改此行为,以便第一次单击列标题时使该排序键成为主标题,单击另一列标题时使该列的排序键成为次标题,依此类推 此外,当到达maxSortKeys时,单击另一个(未排序)列将触发排序键的混乱。新单击的列将具有最低优先级的SortKey,主键列将丢失其SortKey,具有次SortKey的列将成为主列,以此类推 目前,我实现了自己的TableHeader,以便在用户单击
[ One | Two ↑1 | Three ↓2 | Four | Five ↑3 ]
[ | | | | ]
用户单击第一列的标题后:
[ One ↑3 | Two | Three ↓1 | Four | Five ↑2 ]
[ | | | | ]
我想知道的是,您是否认为这是一个好方法?- 需要为每列重写
,因为每列都应该是自己的排序键
(如果需要,请确保)排序键数组
- 在可见矩形返回框中使用最多6-8个排序键是合理的,通过重新绘制,我可以在
中看到性能问题和重影JViewport
不是初始排序顺序,SortOrder.UNSORTED
视图无法存储,请记住,不知道正确的方法,只能从其JTables
模型中刷新
JTable
- 您可以通过编程来显示排序图标