JAVA进行GUI程序设计之布局管理(中)

接上文:JAVA进行GUI程序设计之布局管理(上)

FlowLayout(流式布局):

1.FlowLayout是Panel类的默认布局管理器,它使得按钮呈水平放置,直到同一条线上再也没有适合的按钮。线的对齐方式由 align 属性确定。可能的值为:

LEFT

RIGHT

CENTER

LEADING

TRAILING

2.流的方向取决于容器的 componentOrientation 属性,它可能是以下两个值中的一个:

ComponentOrientation.LEFT_TO_RIGHT

ComponentOrientation.RIGHT_TO_LEFT

3.不改变组件的大小,按组件原有尺寸显示组件,可设置不同的组件间距,行距以及对齐方式。

4.流式布局管理器默认的对齐方式是居中。

构造方法详细描述:

1.FlowLayout()构造一个新的 FlowLayout,它是居中对齐的,默认的水平和垂直间隙是 5 个像素。

2.FlowLayout(int align)构造一个新的 FlowLayout,它具有指定的对齐方式,默认的水平和垂直间隙是 5 个像素。align 参数的值必须是以下值之一:

FlowLayout.LEFT、

FlowLayout.RIGH、

FlowLayout.CENTER、

FlowLayout.LEADING、

FlowLayout.TRAILING。

参数:

align – 对齐值

3.FlowLayout(int align,int hgap,int vgap)创建一个新的流式布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙。

align 参数的值必须是以下值之一:

FlowLayout.LEFT、

FlowLayout.RIGHT、

FlowLayout.CENTER、

FlowLayout.LEADING、

FlowLayout.TRAILING。

参数:

align – 对齐值

hgap – 组件之间以及组件与 Container 的边之间的水平间隙

vgap – 组件之间以及组件与 Container 的边之间的垂直间隙

实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import java.awt.Button;
import java.awt.ComponentOrientation;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
 
/**
 * @author Aiml
 *
 */
public class FlowLayoutDemo extends JFrame {
 
	/**
	 *
	 */
	private static final long serialVersionUID = 1L;
 
	public FlowLayoutDemo(){
 
		setSize(400,300);
		setTitle("流式布局Demo");
		Toolkit kit = Toolkit.getDefaultToolkit();
		Dimension screenSize = kit.getScreenSize();
		int x=(screenSize.width-400)/2;
		int y=(screenSize.height-300)/2;
		setLocation(x,y);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		
 
		/**
		 * 创建一个JPanel面板
		 */
		JPanel jpa = new JPanel();
 
		/**
		 * 设置窗口中全部组件按从右向左的顺序排列
		 */
		jpa.applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
 
		/**
		 * 无参的构造函数,居中对齐,水平和垂直间隙是 5 个像素。
		 * 当使用该构造函数的时候,与不写setLayout()函数同样效果。
		 */
	//	jpa.setLayout(new FlowLayout());
 
		/**
		 * 带对齐方式的构造函数,按指定的对齐方式对齐按钮,水平和垂直间隙是 5 个像素。
		 */
	//	jpa.setLayout(new FlowLayout(FlowLayout.RIGHT));
 
		/**
		 * 带对齐方式和水平、树枝间隙参数的构造函数,按指定的对齐方式对其按钮,
		 * 并且按钮水平间隙10像素,竖直间隙20像素
		 */
		jpa.setLayout(new FlowLayout(FlowLayout.LEFT,10,20));		
 
        for(int i = 1; i <= 20; i++){
        	jpa.add(new Button("按钮"+i));
        }
 
        Container c = this.getContentPane();
        c.add(jpa);
	}
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		FlowLayoutDemo frame = new FlowLayoutDemo();
        frame.setVisible(true);
	}
}

效果图如下:
图一:默认或使用FlowLayout()构造函数

图二:拉伸之后效果:

图三:使用FlowLayout(FlowLayout.RIGHT)构造函数

图四:拉伸后效果

图五:使用FlowLayout(FlowLayout.LEFT,10,20)构造函数

图六:拉伸后效果


原创文章如转载,请注明:转载自六度外博/歪博 [ http://6duweb.com/ ]

本文固定链接:http://6duweb.com/251.html

11条评论

  1. 已经把你遗忘了““““`

    • 我前段时间辞职了,现在在老家呢,一开始没有网,才办的网。

  2. 呵呵,很久没看到你了`

  3. 免费帮西部做广告?

    • 差不多吧,不过也可以说是西部代理,嘿嘿,相当于有人通过我这里链接过去购买了主机的话,我会有提成。

  4. 博主元旦快乐!

  5. JAVA我是很菜的。

  6. 看不懂技术,只能支持一下

  7. 这个不懂,来学习了

  8. JAVA我还是在很菜的阶段!

  9. | 借博主宝地!祝博主人气越来越旺|