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

Java 将JComponents与JPanel的左侧和右侧对齐,java,swing,layout,jpanel,jcomponent,Java,Swing,Layout,Jpanel,Jcomponent,我有一个JPanel,它包含两个JC组件,比如两个JButton,btnLeft和btnRight。我希望这两个按钮水平对齐,我希望btnLeft位于JPanel的左侧,btnRight位于JPanel的右侧,中间留有任何空间 我知道我可以通过添加一个水平支柱来使用BoxLayout实现这一点,我必须在其中指定中间的空间量,但必须有一种更简单的方法,不必指定中间剩余的空间 我该怎么做呢?听起来你要找的是horizontalGlue: JComponent comp = new JPane

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

我知道我可以通过添加一个水平支柱来使用BoxLayout实现这一点,我必须在其中指定中间的空间量,但必须有一种更简单的方法,不必指定中间剩余的空间


我该怎么做呢?

听起来你要找的是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"));

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

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();
    }
}

还考虑嵌套布局在<代码>东东/代码>和<代码>西部<代码> >代码> FlowLayout < /代码>。