Java TableModel火灾方法(如果不可见,则价格昂贵)

Java TableModel火灾方法(如果不可见,则价格昂贵),java,swing,tablemodel,Java,Swing,Tablemodel,在JavaSwingTableModel中,我们可以触发表更改、添加、删除等操作。我想知道,如果组件不在可见性中,这些方法调用是否代价高昂 例如,另一个窗口正在覆盖它。或者它位于非活动选项卡中。我认为它取决于应用程序本身如何响应这些事件 假设您需要基于这些事件执行某种后台任务,它仍然很有用。为了最大限度地减少触发大量更新事件的影响,JTable使用只渲染可见单元格。概述了该方法。这一相关的数据可以很好地扩展到数千行,但是您需要验证所需的性能 我注意到swing应用程序中的延迟通常出现在带有静态文

在JavaSwingTableModel中,我们可以触发表更改、添加、删除等操作。我想知道,如果组件不在可见性中,这些方法调用是否代价高昂


例如,另一个窗口正在覆盖它。或者它位于非活动选项卡中。

我认为它取决于应用程序本身如何响应这些事件


假设您需要基于这些事件执行某种后台任务,它仍然很有用。

为了最大限度地减少触发大量更新事件的影响,JTable使用只渲染可见单元格。概述了该方法。这一相关的数据可以很好地扩展到数千行,但是您需要验证所需的性能


我注意到swing应用程序中的延迟通常出现在带有静态文本的视图上,而隐藏的选项卡组件中有大量的表更新


如图所示,用于管理不确定的延迟。

假设我确实需要后台任务来保存记录。但我更关心的是EDT线程的负载,其中有任何“脏”区域需要重新绘制,即使其部分/完全不可见。你能定义一下“昂贵”是什么意思吗?当组件可见时,您是否注意到这些调用是“昂贵的”?我注意到swing应用程序中的延迟通常出现在带有静态文本的视图上,而隐藏选项卡组件中有大量的表更新。您是否可以发布一篇文章来说明这种延迟?滞后不是
JTable
的典型投诉,通常是由于线程问题造成的(请参见@trashgod-answer)