📅  最后修改于: 2023-12-03 15:01:28.600000             🧑  作者: Mango
Java AWT 是一组用于创建桌面应用程序的 API,其中BoxLayout是其中一个非常有用的布局管理器。BoxLayout允许将组件沿着一个轴排列,可以是水平的或垂直的。BoxLayout 还提供了很好的对齐控制,在使用过程中非常方便。
BoxLayout 类是 Java AWT 下的一种布局管理器, 它继承自 Java.awt.Container 类。 BoxLayout 将组件按照一个轴线上的方向, 按照从上到下,从左到右的顺序排列, 它对于制作复杂的布局非常有帮助。
以下是 BoxLayout 类的构造函数:
BoxLayout(Container c, int axis)
参数说明:
BoxLayout 类提供了以下方法:
下面是一个使用 BoxLayout 的简单示例:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BoxLayoutDemo extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
private JButton button1;
private JButton button2;
private JButton button3;
public BoxLayoutDemo() {
initUI();
}
public final void initUI() {
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
Box box = Box.createHorizontalBox();
button1 = new JButton("Button 1");
box.add(button1);
button2 = new JButton("Button 2");
box.add(button2);
button3 = new JButton("Button 3");
box.add(button3);
panel.add(box, BorderLayout.NORTH);
panel.setBackground(Color.WHITE);
add(panel);
setTitle("BoxLayout Demo");
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
JButton b = (JButton) e.getSource();
setTitle("You clicked " + b.getText());
}
public static void main(String[] args) {
BoxLayoutDemo ex = new BoxLayoutDemo();
ex.setVisible(true);
}
}
上述示例创建了一个水平方向的 BoxLayout,并向其中添加了三个按钮组件,界面如下所示:
BoxLayout 是 Java AWT 中非常有用的布局管理器,可以让我们更方便的进行组件排列和对齐。它提供了非常多的方法给我们使用,我们可以根据自己的需求来调用这些方法,来实现自己想要的布局效果。