【问题标题】:In-place switching between swing components摆动组件之间的就地切换
【发布时间】:2011-12-07 19:40:28
【问题描述】:

在我的 Swing 应用程序中,我想使用 JTree 和 JTable 显示相同的日期。 组件应根据用户的选择(例如使用切换按钮)交替显示/显示。如果按下按钮,则应显示 JTree,否则应显示 JTable。 问题:如何以正确的方式做到这一点。 我试过stacklayout,显示下一个/上一个组件,但这似乎不是一个好的解决方案。两个组件都占用内存,两者同时存在。 第二种解决方案可能是从面板中删除组件,然后创建一个新组件。它也可能是内存/时间消耗。 您有什么建议或解决方案。

【问题讨论】:

    标签: swing jtable jtree


    【解决方案1】:

    CardLayout 似乎最适合这种情况,但它当然也会将这两个组件保存在内存中。您是否真的有任何迹象表明这是一个问题,或者您只是担心过早的优化问题?

    【讨论】:

    • 我还没有尝试过 CardLayout,所以这更像是我对性能的担忧。目前我们在表中加载大量数据时遇到 OutOfMemory 异常(我知道我们应该考虑延迟加载,但这不是一个主题)。但无论如何,谢谢你的意见。
    【解决方案2】:

    删除现有组件并向面板添加新组件在性能方面应该不是什么大问题。如果您确保没有对已删除对象的引用(例如您的 JTree),您应该不会有任何内存问题。

    【讨论】:

      猜你喜欢
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 2018-03-25
      • 2016-03-08
      • 2019-12-07
      • 1970-01-01
      • 1970-01-01
      • 2021-01-14
      相关资源
      最近更新 更多