【发布时间】:2014-02-25 10:03:02
【问题描述】:
我有一个 BorderLayout,我希望在其中包含一个 BoxLayout,这样我就有了三个垂直按钮。 设计是这样的: 我想要一个水平边框布局,下面有两个边框布局。在左边框布局中,我想要带有三个垂直按钮的 boxlayout。
这是我尝试过的代码:
JLabel label2 = new JLabel("LOGO");
pane.add(label2, BorderLayout.PAGE_START);
button = new JButton("Button 2 (CENTER)");
button.setPreferredSize(new Dimension(200, 100));
pane.add(button, BorderLayout.CENTER);
button = new JButton("Button 3 (LINE_START)");
pane.add(button, BorderLayout.LINE_START);
button = new JButton("Long-Named Button 4 (PAGE_END)");
pane.add(button, BorderLayout.PAGE_END);
我应该怎么做才能得到提到的设计。现在我没有得到它,我不知道如何在borderlayout中添加boxlayout。
【问题讨论】:
-
“现在我没有得到它”你能提供一张你得到得到什么的图片吗?其他提示: 1) 为了尽快获得更好的帮助,请发布MCTaRE(最小完整测试和可读示例)。 2) 请参阅How do I create screenshots?(有关制作出色截图的技巧)。
-
BTW - 如果问题是组件被拉伸,一个常见的解决方法是将
BoxLayout包装到FlowLayout中,然后将其添加到BorderLayout。 使用FlowLayout的面板将被拉伸,但内容 将保持首选大小。 -
button.setPreferredSize(new Dimension(200, 100));Java GUI 可能必须在多个平台、不同的屏幕分辨率和使用不同的 PLAF 上工作。因此,它们不利于组件的精确放置。要为强大的 GUI 组织组件,请改用布局管理器或 combinations of them,以及 white space 的布局填充和边框。增加按钮大小的一个好方法是调用setMargin或增加Font大小。两者都最好在 PLAF 中完成。
标签: java swing layout-manager border-layout boxlayout