我有以下jtable,它按sortKey列按升序排序。
row# col1 col2 col3 sortKey
1 a b c 1
2 d e f 2
3 g h i 3
我已使用TableRowSorter对此JTable进行排序。 现在我想在第1行和第2行之间插入一个空行,结果应该是这样的。
row# col1 col2 col3 sortKey
1 a b c 1
2
3 d e f 2
4 g h i 3
但我得到的结果如
row# col1 col2 col3 sortKey
1
2 a b c 1
3 d e f 2
4 g h i 3
如何在排序时将空行的位置固定到此表中?
答案 0 :(得分:2)
如果您的JTable
带有RowSorter
并添加/插入新行,则该行会显示在RowSorter
确定的位置。因此,如果在您的示例中插入了一个空行(因此具有空值),则该行显示在第一个位置,因为" null"小于" 1"。
如果您想在不同的位置展示它,您有2个选项:
您为列sortKey(插入行时)提供了适当的值。如果您在示例中将整数值作为排序键,并且希望在排序键和#34; 1"之间显示一行。和" 2"你必须给新行一个值" 2"并调整所有后续行的排序键值。
您可以致电table.setRowSorter (null)
停用排序。请记住,在使用行排序器再次调用table.setRowSorter
后,使用值填充行后重新激活排序。