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

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

2011-01-24 10:18 323 查看
GridLayout(网格式布局):

1.GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序排列在表格中。

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

ComponentOrientation.LEFT_TO_RIGHT

ComponentOrientation.RIGHT_TO_LEFT

3.通过构造方法或 setRows 和 setColumns 方法将行数和列数都设置为非零值时,指定的列数将被忽略。

列数通过指定的行数和布局中的组件总数来确定。因此,例如,如果指定了三行和两列,在布局中添加了九个组件,则它们将显示为三行三列。仅当将行数设置为零时,指定列数才对布局有效。

构造方法详细描述:

1.GridLayout():创建具有默认值的网格布局,即每个组件占据一行一列。

2.GridLayout(int rows, int cols):创建具有指定行数和列数的网格布局。

给布局中的所有组件分配相等的大小。rows 和 cols 中的一个可以为零(但不能两者同时为零),这表示可以将任何数目的对象置于行或列中。

参数:

rows - 该 rows 具有表示任意行数的值零。

cols - 该 cols 具有表示任意列数的值零。

3.GridLayout(int rows, int cols, int hgap, int vgap):创建具有指定行数和列数的网格布局。

给布局中的所有组件分配相等的大小。此外,将水平和垂直间距设置为指定值。水平间距将置于列与列之间。将垂直间距将置于行与行之间。

rows 和 cols 中的一个可以为零(但不能两者同时为零),这表示可以将任何数目的对象置于行或列中。所有 GridLayout 构造方法都服从这一规定。

参数:

rows - 该 rows 具有表示任意行数的值零

cols - 该 cols 具有表示任意列数的值零

hgap - 水平间距

vgap - 垂直间距

实例:

package src;
import java.awt.*;

import javax.swing.*;

public class GridLayoutDemo extends JFrame {

private static final long serialVersionUID = 1L;

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

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
GridLayoutDemo frame = new GridLayoutDemo();

frame.applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);	//按钮按照从右向左方向排列
Container contentPane = frame.getContentPane();
contentPane.setLayout(new GridLayout(2,3));
JButton jbt1 = new JButton("按钮1");
contentPane.add(jbt1);
JButton jbt2 = new JButton("按钮2");
contentPane.add(jbt2);
JButton jbt3 = new JButton("按钮3");
contentPane.add(jbt3);
JButton jbt4 = new JButton("按钮4");
contentPane.add(jbt4);
JButton jbt5 = new JButton("按钮5");
contentPane.add(jbt5);
JButton jbt6 = new JButton("按钮6");
contentPane.add(jbt6);
JButton jbt7 = new JButton("按钮7");
contentPane.add(jbt7);
JButton jbt8 = new JButton("按钮8");
contentPane.add(jbt8);

frame.setVisible(true);
}

}

效果图如下:

1.使用GridLayout(0,3)构造函数





2.使用GirdLayout(2,3)构造函数





链接:

JAVA进行GUI程序设计之布局管理(上)
JAVA进行GUI程序设计之布局管理(中)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐