【问题标题】:Efficient way to add Components to Java Swing panel将组件添加到 Java Swing 面板的有效方法
【发布时间】:2013-08-14 17:36:04
【问题描述】:

我有一个预先构建的 Java 面板,其中已经添加了大约 30000 个标签。我需要有效地将它添加到我的 Jframe 上的滚动窗格中。但是,如果我调用 add 方法,它可能需要大约 30 秒才能添加到滚动窗格。还有另一种方法可以更有效地做到这一点吗?我需要 UI 快速更新,如果我每次需要显示它们时都将标签重新添加到面板,我认为这将比简单地加载已经渲染的面板更昂贵。

【问题讨论】:

  • 您是否考虑过使用 JTable 代替?
  • 我知道这并不能直接回答您的问题,但如果您有这么多标签,您可能需要考虑创建一个自定义组件,该组件直接在适当的位置绘制所有 ~30k 文本字符串。
  • 30000!您是一一创建标签还是使用数组?为什么需要三千个标签?
  • 您确实应该使用适当的组件。 JTable、JList 或 JTree,以最适合的情况为准。
  • @trashgod 有人真的认为这是一种模式并命名它?接下来是什么,“局部变量模式”?我一直在收集证据来支持我一直想写的一篇题为“模式反模式”的文章。感谢您的提示。

标签: java performance swing


【解决方案1】:

我认为你应该重新考虑你的设计。 30000 个标签看起来太多了。

查看JTable,如果您不能减少标签数量,请重新考虑。

【讨论】:

    猜你喜欢
    • 2015-10-30
    • 1970-01-01
    • 2011-08-31
    • 2014-09-11
    • 2016-01-11
    • 2015-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多