如果不可见,TableModel fire方法很昂贵

del*_*ita 2 java swing tablemodel

在java swing tablemodel中,我们可以触发表更改,添加,删除等.我想知道如果组件不可见,这些方法调用是否很昂贵?

例如,另一个窗口覆盖它.或者它处于非活动选项卡中.

tra*_*god 5

为了最大限度地减少触发大量更新事件的影响,JTable 渲染使用flyweight模式仅渲染可见单元格.这里概述这种方法.此相关示例可以很好地扩展到数千行,但您应该进行分析以验证所需的性能.

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

如图所示这里,使用SwingWorker管理不确定的等待时间.