【问题标题】:Java GUI place layout under boxlayoutboxlayout下的Java GUI位置布局
【发布时间】:2014-04-07 13:19:18
【问题描述】:

我使用borderlayout 来指定我的java GUI 内容的放置位置,然后我选择将其放置在EAST 上,然后制作了两个boxlayouts 以显示两列按钮。我现在必须在它下面而不是在它旁边放置一些东西。您将如何建议或建议我这样做,使用任何布局,但最好使用 boxlayout 而不是绝对布局(null)。提前致谢。

图片:

箭头指向我希望另一个JPanel 所在的位置。

【问题讨论】:

  • 你的按钮顺序乱了;)
  • 您可以将包含两个 boxlayout 的内容包装在另一个 boxlayout 中,以便您现有的按钮都在该布局的第一个框中。
  • @SebastianH LOL 甚至没有注意到,但是我只是做了一个快速的例子。如果我不得不说,制作一个与我已有的面板相同的面板,在它下面,我该怎么做,谢谢。
  • 那么我如何在它下面而不是在它旁边制作另一个boxlayout?

标签: java swing user-interface layout jpanel


【解决方案1】:

你可以...

  1. 将两个按钮面板包裹在 JPanel
  2. 无论箭头方向是什么组件,用GrigbagLayout 包裹在JPanel 中(只是为了使其居中)。
  3. 使用BorderLayout 创建另一个JPanel 来保存上述面板。使用CENTERSOUTH
  4. SOUTH 面板提供EmptyBorder,仅指定顶部区域并相应地间隔。

确实有很多方法可以做到这一点。关键是嵌套JPanels 并使用不同的布局管理器,使用EmptyBorders 或stuts 作为空白空间,直到你得到你想要的效果。可能性是无止境。我认为没有一个正确的答案。由于我们没有可运行的示例,所以我说只要试试上面的,混合搭配就会得到你想要的。

【讨论】:

  • 这是在下面添加完全相同的 JPanel 的最简单方法吗?是否没有诸如告诉 boxlayout 留在另一个 boxlayout 之下的选项?
  • 老实说,如果不了解当前的布局,很难判断什么对您有用。就像我说的,有很多选择。除了BorderLayout,你可以使用垂直的BoxLayoutGridLayout(0, 1),甚至是GridBagLayout。关键是嵌套JPanel。我认为标准布局管理器没有办法解决这个问题。
  • 如果没有完整的信息,您的整个 GUI 应该是什么样子,就不可能显示“最简单”的方式。您的屏幕截图表明窗口中可能有更多面板 - 这会极大地影响在“下方”添加面板的好方法。
  • 我只是在寻找选项,感谢您的建议:)
猜你喜欢
  • 2011-09-12
  • 2020-02-05
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多