在java swing tablemodel中,我们可以触发表更改,添加,删除等。我想知道如果组件不可见,这些方法调用是否很昂贵?
例如,另一个窗口覆盖它。或者它处于非活动标签中。
答案 0 :(得分:5)
为了最大限度地减少触发大量更新事件的影响,JTable
renderering使用flyweight pattern仅呈现可见单元格。方法概述here。相关的example可以很好地扩展到数千行,但您应该profile来验证所需的效果。
我注意到swing应用程序经常在静态文本的视图上出现延迟,而隐藏的标签组件中有大量的表更新。
如图here所示,使用SwingWorker
来管理不确定的延迟。
答案 1 :(得分:0)
我认为这取决于应用程序本身如何回应这些事件。
假设您需要根据这些事件执行某种后台任务,它仍然有用。