【问题标题】:how to add more than 3panels GUI in java如何在 Java 中添加超过 3 个面板的 GUI
【发布时间】:2014-10-12 18:32:10
【问题描述】:

我想在我的项目中添加超过 3 个面板 (GUI)。我将我的面板声明为top(NORTH)center(CENTER)bottom(SOUTH)

所以我的问题是,我可以在topcentercentersouth 之间添加第四个面板吗?

【问题讨论】:

    标签: java swing user-interface layout jpanel


    【解决方案1】:

    您使用边框布局是否有原因?如果没有理由,我建议使用不同的布局。

    假设您使用的是 swing,我建议您使用 GridLayout,因为您似乎只是将面板放在单个列中。您可以将 GridLayout 指定为具有 4 行、1 列(1 个面板/网格),这样您就可以直接向上和向下添加所有 4 个。当然,只有您可以决定使用什么,因为我们不知道您在构建什么。

    去这里How to Use GridLayout参考

    【讨论】:

    • 我只使用了gridlayout pnlCenter.setLayout(new GridLayout(4,4));
    【解决方案2】:

    您是否使用 Swing 作为您的 gui 工具包?如果是这样,请为您的框架使用不同的布局管理器。

    Oracle Guide to layout managers

    【讨论】:

      【解决方案3】:

      您正在使用BorderLayout,它将可用空间分为 5 个区域。要获得更多信息,您可以创建一个新的JPanel,同时给它BorderLayout,并将其添加为外部容器的中心。

      这样,您在外部 CENTER 区域内又有 5 个区域。

      【讨论】:

      • 我想要 5 个垂直的东西
      • @Abhinai 如果你想要 5 个垂直的东西,给中心面板一个一列三行的网格布局。
      • 我确实喜欢这个 pnlCenter.setLayout(new GridLayout(4,4));但现在我为下一个获得了 3 列(例如:如果我取性别,它包含男性和女性,所以性别、男性、女性应该在同一行)。
      • @Abhinai:这听起来像是一个新问题。
      【解决方案4】:

      如果您想拥有 5 个垂直 jpanel,那么您可以选择 Grid 或 box 布局。查看有关如何使用布局及其外观的 Orace 文档。 Oracle Documentation

      【讨论】:

        【解决方案5】:

        我认为你应该试试 BoxLayout。您正在使用只有 5 个区域的 BorderLayout。如果您想保持 NORTH 和 SOUTH 面板完好无损,请创建一个单独的面板,例如 center_panel 并提供如下布局

        center_panel.setLayout(new BoxLayout(center_panel,BoxLayout.Y_AXIS));
        

        然后将面板添加到 center_panel。它们将以垂直方式添加。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-19
          相关资源
          最近更新 更多