java JTable行筛选器更新
有没有办法告诉JTable的行过滤器它应该更新自己以显示过滤后的数据?我目前正在AbstractTableModel中使用fireTableDataChanged方法,但是表的底层数据实际上没有改变,所以这看起来可能是浪费。我的过滤器的工作方式是检查表中的数据是否在其他列表中,并且仅当它在该列表中时才显示它。所以其他列表发生了变化,我需要告诉过滤器刷新自己。FireTableDataChange是否以正确的方式执行此操作
谢谢, 杰夫
你可以在下面搜索框中键入要查询的问题!
有没有办法告诉JTable的行过滤器它应该更新自己以显示过滤后的数据?我目前正在AbstractTableModel中使用fireTableDataChanged方法,但是表的底层数据实际上没有改变,所以这看起来可能是浪费。我的过滤器的工作方式是检查表中的数据是否在其他列表中,并且仅当它在该列表中时才显示它。所以其他列表发生了变化,我需要告诉过滤器刷新自己。FireTableDataChange是否以正确的方式执行此操作
谢谢, 杰夫
# 1 楼答案
我会把“其他清单”看作是你的数据的一部分。这意味着它应该是表模型的一部分。因此,无论何时更改,模型都应该调用fireTableDataChanged
是一种正确的方法fireTableDataChanged
。这样就行了如果您不能使它成为您的模型的一部分,它至少应该在发生更改时通知模型,然后模型将调用
fireTableDataChanged
。对于通知,您可以使用标准侦听器方法,或者如果您更喜欢全局方法Event Bus framework可以提供帮助