在我的软件的一部分中,我在底部有一个布局,其中包含几个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);
这是我想要实现的目标:
知道怎么做吗?
答案 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);