【问题标题】:JFrames inside JFramesJFrames里面的JFrames
【发布时间】:2015-03-18 13:37:45
【问题描述】:

我目前已经构建了一个使用多个框架的应用程序。 但是,如果我可以在 1 帧中使用我全部使用的帧,那就太好了。 如下图所示。

因此,如果您按下左侧按钮“Speler Overzicht”,它将在右侧面板中显示用户,而左侧面板中仍然有我的按钮。

【问题讨论】:

  • 你发布的图片只有1个JFrame,可能包含多个JPanel实例

标签: java swing jframe


【解决方案1】:

一般来说,将 UI 类基于 JFrame 是一个非常糟糕的主意,因为它会将您锁定在单个用例中,这意味着您无法将 UI 组件(框架)添加到其他容器中。

我更好的解决方案是将您的 UI 组件基于JPanels,然后您可以将它们添加到您需要它们的任何位置。扩展它们也使生活更容易,但这是另一回事。

要允许用户在多个视图之间移动,您可以根据需要使用CardLayoutJTabbedPane

请参阅How to Use CardLayoutHow to Use Tabbed Panes 了解更多详情

【讨论】:

    【解决方案2】:

    改用 JPanel。

    buttonPanel=new JPanel();
    overzichtPanel=new JPanel();
    
    buttonPanel.add(button);// do this for every button
    overzichtPanel.add(componentsYouWantToAdd);// replace with your variables of course 
    
    frame.add(buttonPanel, BorderLayout.WEST)
    frame.add(overzichtPanel, BorderLayout.CENTER)
    

    【讨论】:

      【解决方案3】:

      您不能将一个 JFrame 放在另一个 JFrame 中。您在这里有一些设计选择。您可以将 JFrames 更改为 JPanels。这可能是最简单的改变。另一方面,您可以考虑改用Internal Frames

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-15
        • 1970-01-01
        • 1970-01-01
        • 2016-01-20
        • 2011-11-02
        • 1970-01-01
        相关资源
        最近更新 更多