您的位置:首页 > 产品设计 > UI/UE

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

2010-12-20 21:49 405 查看
接上文: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 的边之间的垂直间隙

实例:

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)构造函数





图六:拉伸后效果



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: