使用BoxLayout : 箱布局 « Swing « Java 教程

En
Java 教程
1. 语言基础
2. 数据类型
3. 操作符
4. 流程控制
5. 类定义
6. 开发相关
7. 反射
8. 正则表达式
9. 集合
10. 线
11. 文件
12. 泛型
13. 本土化
14. Swing
15. Swing事件
16. 二维图形
17. SWT
18. SWT 二维图形
19. 网络
20. 数据库
21. Hibernate
22. JPA
23. JSP
24. JSTL
25. Servlet
26. Web服务SOA
27. EJB3
28. Spring
29. PDF
30. 电子邮件
31. 基于J2ME
32. J2EE应用
33. XML
34. 设计模式
35. 日志
36. 安全
37. Apache工具
38. 蚂蚁编译
39. JUnit单元测试
Java
Java 教程 » Swing » 箱布局 
14. 87. 1. 使用BoxLayout

Arranges components either in a row or in a column.

  1. Box class offers a container that uses BoxLayout as its default layout manager.
  2. BoxLayout works to honor each component's x and y alignment properties as well as its maximum size.

The BoxLayout class has only one constructor:

public BoxLayout(java.awt.Container target, int axis)
  1. 'target' argument specifies the container that needs to be laid out.
  2. 'axis' specifies the axis to lay out components along.

The value of axis can be one of the following:

  1. BoxLayout.X_AXIS
  2. BoxLayout.Y_AXIS
  3. BoxLayout.LINE_AXIS
  4. BoxLayout.PAGE_AXIS
使用BoxLayout
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class BoxLayoutTest {

  public static void main(String[] args) {
    JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("BoxLayout Test");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    BoxLayout boxLayout = new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS)// top to bottom
    frame.setLayout(boxLayout);
    frame.add(new JButton("Button 1"));
    frame.add(new JButton("Button 2"));
    frame.add(new JButton("Button 3"));
    frame.pack();

    frame.setVisible(true);
  }
}
使用BoxLayout
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
public class TryBoxLayout {
  public static void main(String[] args) {
    JFrame aWindow = new JFrame("This is a Box Layout");
    aWindow.setBounds(3030300300);
    aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    // Create left column of radio buttons
    Box left = Box.createVerticalBox();
    ButtonGroup radioGroup = new ButtonGroup();
    JRadioButton rbutton;
    radioGroup.add(rbutton = new JRadioButton("Red"));
    left.add(rbutton);
    radioGroup.add(rbutton = new JRadioButton("Green"));
    left.add(rbutton);
    radioGroup.add(rbutton = new JRadioButton("Blue"));
    left.add(rbutton);
    radioGroup.add(rbutton = new JRadioButton("Yellow"));
    left.add(rbutton);
    Box right = Box.createVerticalBox();
    right.add(new JCheckBox("A"));
    right.add(new JCheckBox("B"));
    right.add(new JCheckBox("C"));
    Box top = Box.createHorizontalBox();
    top.add(left);
    top.add(right);
    Container content = aWindow.getContentPane();
    content.setLayout(new BorderLayout());
    content.add(top, BorderLayout.CENTER);
    aWindow.pack();
    aWindow.setVisible(true);
  }
}
14. 87. 箱布局
14. 87. 1. 使用BoxLayout使用BoxLayout
14. 87. 2. 创建BoxLayout创建BoxLayout
14. 87. 3. 一种简单BoxLayout试验一种简单BoxLayout试验
14. 87. 4. Struts和胶Struts和胶
14. 87. 5. Y轴对齐Y轴对齐
14. 87. 6. X轴对齐X轴对齐
14. 87. 7. 在一个BoxLayout绘图边界在一个BoxLayout绘图边界
14. 87. 8. 分离组件行或列
14. 87. 9. Glue spreads the components as far apart as possible.
14. 87. 10. Strut spreads the components apart by a fixed distance
14. 87. 11. 分行或列
14. 87. 12. A vertical box container arranges the components top-to-bottom aligned in their preferred sizes.
14. 87. 13. 垂直BoxLayout
14. 87. 14. 水平或垂直布局
14. 87. 15. BoxLayout: set a rigid area among our components.
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.