有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java TableModel fire方法即使不可见也很昂贵

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

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


共 (2) 个答案

  1. # 1 楼答案

    为了尽量减少触发大量更新事件的影响,JTablerenderering使用flyweight pattern只渲染可见的单元格。该方法概述如下。这个相关的example可以很好地扩展到数千行,但是您应该profile来验证所需的性能

    I noticed lag in the swing application often on a view with static text, whilst there are heavy table updates in a hidden tab component.

    如图here所示,使用^{}管理不确定的延迟

  2. # 2 楼答案

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

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