这或多或少与以下内容重复:
How can i sort java JTable with an empty Row and force the Empty row always be last?
http://www.java.net/node/645655
唯一的区别是我想在当前选中的行之后插入新行。当插入行时,DefaultRowSorter的默认行为会立即排序,而我需要的是暂时关闭排序,以便我可以将行插入我指定的位置,而不是排序器中的位置
我注意到How can i sort java JTable with an empty Row and force the Empty row always be last?中提供了2个链接,但它们不再有效,这就是我创建这个新问题的原因。
答案 0 :(得分:0)
我从JDK完全复制了DefaultRowSorter和TableRowSorter并更改了insertInOrder(),如下所示,它现在看起来像我预期的那样。
for (int i = 0; i < max; i++) {
if(sortOnInsert)
{
index = Arrays.binarySearch(current, toAdd.get(i));
if (index < 0) {
index = -1 - index;
}
}
else
{
Row rowBeforeAdd = new Row(this, toAdd.get(i).modelIndex - 1);
index = Arrays.binarySearch(current, rowBeforeAdd);
if (index < 0) {
index = viewToModel.length - 1;
}
else
{
index += 1;
}
}