我有一些非常古老的代码,它使用 aBox
来列出一些信息。我像这样创建它:
Box patterns = Box.createVerticalBox();
非常(非常)经常,添加新项目并删除旧项目,例如:
label = new JLabel("xyz");
patterns.add(label);
然后
patterns.remove(label);
每当添加或删除某些东西时,我都必须重新粉刷,所以我打电话:
patterns.revalidate();
patterns.repaint();
问题是,由于这种情况经常发生,它会阻塞 UI。我认为我需要一个更好的实现来提高效率。
我知道我可以在后台维护一个活动项目的列表,然后间歇性地更新实际的 UI(批量更新)但是......
有人可以提出更有效的替代方法吗?