将JComponents与JPanel的左侧和右侧对齐

时间:2011-12-20 17:05:59

标签: java swing layout jpanel jcomponent

我有一个包含两个JComponents的JPanel,比如两个JButton,btnLeft和btnRight。我希望这两个按钮水平对齐,我希望btnLeft位于JPanel的左侧,btnRight位于JPanel的右侧,两者之间留有任何空间。

我知道我可以通过添加一个水平支柱来使用BoxLayout执行此操作,其中我必须指定之间的空间量,但必须有一个更简单的方法,而无需指定中间的剩余空间是。

我该怎么做?

2 个答案:

答案 0 :(得分:4)

听起来像horizo​​ntalGlue就是你要找的东西:

    JComponent comp = new JPanel();
    comp.setLayout(new BoxLayout(comp, BoxLayout.LINE_AXIS));
    comp.add(new JLabel("left"));
    comp.add(Box.createHorizontalGlue());
    comp.add(new JLabel("right"));

答案 1 :(得分:2)

如果您不介意垂直拉伸按钮,为什么不尝试:

import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

public class JFrame1 {
public static void main(String[] args) {
        JFrame frame = new JFrame();
        JButton btn1 = new JButton("Btn1");
        JButton btn2 = new JButton("Btn2");
        frame.setLayout(new BorderLayout());
        frame.setSize(500, 400);
        frame.add(btn1, BorderLayout.WEST);
        frame.add(btn2, BorderLayout.EAST);
        frame.show();
    }
}

enter image description here