当前位置: 首页 > 面试题库 >

用户对JTable进行排序后,如何跟踪行索引?

曾洲
2023-03-14
问题内容

我有一个JTable的第一行为空白。现在,当我通过单击列对表进行排序时,空白行位于底部。如果我在空白行中插入内容并进行排序,则该行将相应放置。即使已排序,如何跟踪其行索引。我需要访问该行,但是如果用户进行排序,那么我将失去行索引,因为它不再是第一行。


问题答案:

您所使用的假设TableRowSorterJava
6中新增的东西,我认为你需要看看是什么方法convertRowIndexToModelconvertRowIndexToViewRowSorter类。你会做类似的事情

table.getRowSorter().convertRowIndexToView(0)

模型中找出哪个可见行索引实际上是行索引0。

编辑:正如Tulskiy在注释中指出的那样,如果未将行排序器分配给表,则可能会导致NullPointerException。最好直接在JTable上使用这些方法,例如table.convertRowIndexToView(0)



 类似资料:
  • 问题内容: 我正在尝试排序(减少)整数数组,但要跟踪原始索引。 我的意思是,例如,如果我有这个数组: 使用Arrays.sort(b,Collections.reverseOrder())之后变成(我使用Arrays.sort,因为在此示例中b的长度仅为5,但是在我的问题中b的长度可能是1 <b.length <70 但我想以某种方式拥有原始索引,我的意思是知道 我不知道我的问题是否明确,请向我询

  • 我将行排序器应用于,Table检索太多记录,当用户单击表头对特殊字段进行排序时,会导致问题并应用程序崩溃。我想在表尚未完全加载时禁用排序!我该怎么办?

  • 我从数据库中填充。中的数据根据自动生成的主键按降序排序。该表如下所示。 表中的数据由一个列表保存,该列表包含JPA实体的对象列表-

  • 问题内容: 有没有办法以编程方式对JTable进行排序? 我的JTable排序工作正常(使用setRowSorter),以便当用户按任意列时,表将被排序。 我知道,SWingX JXTable可能可以工作,但我不想麻烦,因为其他所有事情现在都可以正常工作,而且我不知道NetBeans的可视化编辑器如何处理JXTable等。 编辑: 选定的答案是指我的声明(现已删除),该声明对Sun的页面的答案不起

  • 问题内容: 我有一个JTable,其属性AutoCreateRowSorter设置为true。单击时效果很好,但如果单击时仅将鼠标移动1px,则不会出现排序,这在某些情况下不舒服。如何解决这个问题? UPD我只想在释放鼠标时显示排序。 问题答案: 肮脏的方法(请阅读: 如果您不是绝对地绝望,请确切地知道自己在做什么!请不要这样做 ),方法是挂接到uiDelegate安装的MouseListener