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

时间:2016-08-26 14:25:50

标签: java swing tablemodel

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

例如,另一个窗口覆盖它。或者它处于非活动标签中。

2 个答案:

答案 0 :(得分:5)

为了最大限度地减少触发大量更新事件的影响,JTable renderering使用flyweight pattern仅呈现可见单元格。方法概述here。相关的example可以很好地扩展到数千行,但您应该profile来验证所需的效果。

  

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

如图here所示,使用SwingWorker来管理不确定的延迟。

答案 1 :(得分:0)

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

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