我正在使用JTable对象来显示存储在数据库中的一些数据。 现在我想实现以下结果:
即使我的db表具有较少的条目,显示的JTable也必须至少具有n(将其为10)行。必须始终在表的末尾显示空行。
从现在开始,我执行以下操作:
我实现了扩展AbstractTableModel的自定义tabel模型。在实现的方法getRowCount中,我做了:
public int getRowCount() {
if (myRowCount < 10 )
return 10;
else
return myRowCount;
}
问题是:
提前致谢
编辑: 我和@kleopatra @camickr posts一起阅读@mKorbel链接。它帮了我很多忙。但我真的希望尽可能以最干净的方式做到这一点,因为这个类在我的应用程序中非常重要。 上一个链接帖中提出的解决方案是否足够干净?或者它有一些我现在看不到的缺点?
我开始了赏金。请给我好建议!! 感谢..
马
答案 0 :(得分:3)
如果您希望能够编辑这些空行,那么我想唯一的方法是覆盖DefaultRowSorter
s getComparator(column)
方法。
编辑我认为您可以覆盖getComparator(),或者将Comparator设置为每个列,以便检查其中一个值是否为null等。我试过了,它不起作用,因为DefaultRowSorter中有空检查,还有其他问题。
不幸的是,DefaultRowSorter中的大多数内容都是私有的,因此没有太多的自定义空间。如果您想要这种行为,则必须编写自己的RowSorter实现。我建议您仅在此功能对您的应用程序至关重要时采用此方法。