【问题标题】:Placing JFrames inside JFrames将 JFrame 放在 JFrame 中
【发布时间】:2011-10-17 00:55:35
【问题描述】:

我正在开发一个包含许多 JFrame 的应用程序,结果我的程序多次出现在任务栏中,每个当前可见的 JFrame 一个。我知道 JInternalFrame 可能会解决我的问题,但我已经制作了很多 JFrame,很难切换!是否可以让我已经制作的 JFrame 出现在一个总体 JFrame 中?也许以某种方式将每个 JFrame “转移”到 JInternalFrame 中?

我最终希望我的应用程序看起来类似于 Android 应用程序,有几个“活动”,您可以像浏览器一样导航。

谢谢

【问题讨论】:

    标签: java swing jframe jinternalframe


    【解决方案1】:

    是的,您总是可以从 JFrame 中获取 contentPane 并将其放入 JInternalFrame 的 contentPane 中(通过预期的 get 和 set 方法),但尝试将好的代码添加到坏的代码中很多时候并不是一个好主意设计。您最好重构您的代码并尝试针对 JPanel 而不是 JFrame 编写代码。这样您就可以灵活地将 JPanel 放置在您希望的任何位置,无论是 JInternalFrames、JDialogs、JTabbedPane 组件还是通过 CardLayout 交换。

    【讨论】:

    • 非常感谢!想一想,应该不会花太长时间,因为无论如何大部分信息都在 JFrames 内的 JPanel 中。
    • +1 另见example
    【解决方案2】:

    alternatives,那么你只需要在 JPanels 之间切换

    使用CardLayout 示例here

    使用Tabbed Paneshere

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    相关资源
    最近更新 更多