有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JTable行筛选器更新

有没有办法告诉JTable的行过滤器它应该更新自己以显示过滤后的数据?我目前正在AbstractTableModel中使用fireTableDataChanged方法,但是表的底层数据实际上没有改变,所以这看起来可能是浪费。我的过滤器的工作方式是检查表中的数据是否在其他列表中,并且仅当它在该列表中时才显示它。所以其他列表发生了变化,我需要告诉过滤器刷新自己。FireTableDataChange是否以正确的方式执行此操作

谢谢, 杰夫


共 (1) 个答案

  1. # 1 楼答案

    fireTableDataChanged是一种正确的方法

    我会把“其他清单”看作是你的数据的一部分。这意味着它应该是表模型的一部分。因此,无论何时更改,模型都应该调用fireTableDataChanged。这样就行了

    如果您不能使它成为您的模型的一部分,它至少应该在发生更改时通知模型,然后模型将调用fireTableDataChanged。对于通知,您可以使用标准侦听器方法,或者如果您更喜欢全局方法Event Bus framework可以提供帮助