我有一个包含两个JComponents的JPanel,比如两个JButton,btnLeft和btnRight。我希望这两个按钮水平对齐,我希望btnLeft位于JPanel的左侧,btnRight位于JPanel的右侧,两者之间留有任何空间。
我知道我可以通过添加一个水平支柱来使用BoxLayout执行此操作,其中我必须指定之间的空间量,但必须有一个更简单的方法,而无需指定中间的剩余空间是。
我该怎么做?
答案 0 :(得分:4)
听起来像horizontalGlue就是你要找的东西:
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();
}
}