如何通过FlowLayout在左侧和右侧有一个组件

时间:2015-03-30 17:59:21

标签: java swing layout-manager flowlayout

在我的软件的一部分中,我在底部有一个布局,其中包含几个JButton和一个JLabel。我想将按钮保持在面板的右侧,并在左侧标记。我可以设法将按钮放在右边,但不知道如何将JLabel保留在左侧。

以下是代码:

bottomPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));

ftpBack = new JButton("Back");
ftpNext = new JButton("Next");
label = new JLabel("Text);

bottomPanel.add(label);
bottomPanel.add(ftpBack);
bottomPanel.add(ftpNext);

mainPanel.add(bottomPanel, BorderLayout.SOUTH);

这是我想要实现的目标: enter image description here

知道怎么做吗?

1 个答案:

答案 0 :(得分:4)

您不能使用FlowLayout

执行此操作

您可以使用水平BoxLayout

Box box = Box.createHorizontalBox();
box.add(label);
box.add(Box.createHorizontalGlue());
box.add(backButton);
box.add(Box.createHorizontalStrut(5));
box.add(nextButton);

阅读How to Use BoxLayout上Swing教程中的部分,了解更多信息和示例。

或者另一种方法是嵌套布局管理器:

JPanel main = new JPanel( new BorderLayout() );
main.add(label, BorderLayout.WEST);
JPanel buttonPanel= new JPanel();
buttonPanel.add(back);
buttonPanel.add(next);
main.add(buttonPanel, BorderLayout.EAST);