布局管理器 java控制组件位置方法

布局管理器

当一个窗口中的组件较多时,界面应该简洁整齐,布局合理。Java采用布局管理器对容器中的组件进行相对布局,当改变容器大小时,或者改变组件的大小,或者改变组件之间的相对位置,保证组件不会被覆盖并且容器没有空白区域。

Java提供多种风格和特点的布局管理器,每一种布局管理器指定一种组件之间的相对位置。Java.awt中的布局管理器类主要有:FlowLayout、BorderLayout和GridLayout。

布局是容器类的特性,每种容器都有一中默认布局。Window窗口类的默认布局管理器是BorderLayout,Panel面板类的默认布局是FlowLayout。如果一个容器需要改变其默认布局管理器,可以调用Container容器类的FlowLayout()方法。

1、 FlowLayout流布局管理器

FlowLayout布局管理器提供按行布置组件方式,将组件按从左到右顺序、一行一行地排列,当一行放满时再放置下一行。组件保持自己的尺寸,容器中一行的宽度随容器的宽度而变化。当改变容器大小时,组件的相对位置随容器大小而变化,将呈现一行或多行。

FlowLayout类的部分声明如下:

public class FlowLayout implementsLayoutManager.jaca.io.Serializable{

public static final intLEFT=0;//左对齐

public static final intCENTER=1;// 居中

public static final intRIGHT=2;//右对齐

publicFlowLayout()//构造方法,默认居中

public FlowLayout(intalign)//align参数指定对齐方式

public FlowLayout(int align,int hgap,intvgap)//hgap、vgap指定组件间的水平和垂直间距

}

2、 BorderLayout边界布局管理器

BorderLayout布局管理器将容器划分为五个区域,东、南、西、北四条边和中间,组件占满一条边或中间部分。当改变容器大小时,四边组件的长度或宽度不变,中间组件的长度和宽度随着容器大小而变化。

BorderLayout类的部分声明如下:

public class BorderLayout implementsLayoutManager2,java.io.Serializable{

public static final String NORTH="North";

public static final String SOUTH="South";

public static final String EAST="East";

public static final String WEST="West";

public static final String CENTER="Center";

publicBorderLayout()//构造方法,组件之间的间距为0像素

public BorderLayout(int hgap,intvgap)//参数指定组件之间的水平和垂直间距(像素)

}

Container类为BorderLayout布局提供以下添加组件的方法:

public void add(Component comp,Object constraints)

其中,constrains参数指定组件添加到BorderLayout布局容器的位置,取值为BordetLayout类的常量,如BorderLayout.EAST或“South”。例如,下列语句将5个按钮一次放置在框架的5个区域中:

Frame frame =new Frame();

frame.add(new Button("东"),BorderLayout.EAST);

frame.add(new Button("南"),"South");

frame.add(ne w Button("西"),"West");

布局管理器 java控制组件位置方法

frame.add(new Button("北"),"North");

frame.add(newButton("中"),BorderLayout.CENTER);//可以省略为this.add(new Button("中"));

当constraints参数取值为BorderLayout.CENTER时,参数可以省略。如果将多个组件放置在同一个区域,则后放置组件将覆盖先放置的组件。

3、 GridLayout网格布局管理器

GridLayout布局管理器将容器划分为大小相等的若干行乘若干列的网格,组件从左至右,从上至下一次放入网格中。组件大小随容器大小而变化。如果组件数多于网格数,Java将自动增加网格;反之,一些网格将空置。

GridLayout类的部分声明如下:

public class GridLayout implementsLayoutManager,java.io.Serializable{

public GridLayout()

public GridLayout(int rows,int cols)

public GridLayout(int rows,int cols,int hgap,int vgap)

}

GridLayout布局的组件放置次序是行优先,从第一行开始,从左至右依次放置,一行放满后自动转入下一行。如果组件数超过网格数,则布局管理器会自动增加网格数,增加的原则是保持行数不变。如果需要在指定位置放置组件,则可调用Container类为GridLayout布局提供以下方法:

public Component add(Component comp,int index)

例如:

Frame frame=new Frame();

frame.setLayout(newGridLayout(3,2));//设置3行2列的网格布局

frame.add(newButton("botton1"));//依次添加组件

frame.add(newButton("botton2"),0);//将组件插入在指定位置

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/276039.html

更多阅读

Excel名称管理器配合数据有效性一起使用 excel2013名称管理器

Excel名称管理器配合数据有效性一起使用——简介数据有效性做为Excel里面强大的功能,自然不必多说,很多情况我们都需要用到它。而名称管理器可能就没多少人知道了,其实,这也是个很实用的功能。下面,我就介绍一下名称管理器与数据有效性的

教你打开任务管理器的多种方法 精 无法打开任务管理器

教你打开任务管理器的多种方法 精——简介 任务管理器是经常要用到的程序,在任务管理器中所有的程序和服务都显示了出来,我们可以了解系统正在运行着哪些程序和服务,我们也可以用它来结束一些程序和服务。而且有一些恶意的软件并不能被

手机文件管理器哪个好? 手机文件管理器

手机文件管理器哪个好?——简介不明觉厉 极助手小而美——从此告别数据线连接之后,通过电脑浏览器便可直接管理手机内的文件,支持所有基础操作如复制,粘贴,重命名等。此外,文件采用全智能分类,图片,音乐,视频,应用等文件自动分类显示,清晰明了

Win7系统设备管理器怎么打开? win7怎么打开系统属性

Win7系统设备管理器打开的方法虽然和Xp系统有点出入,但是万变不离其宗;那么Win7系统设备管理器怎么打开呢?方式一右击计算机,选择“设备”;如图:在打开的“计算机管理”中,找到“设备管理器”;如图:方式二开始——〉“搜索程序和文件

资源管理器在哪儿找 如何找到资源管理器

资源管理器在哪儿找——简介 Windows资源管理器一般在系统盘下的c:Windowsexplorer.exe(C:为系统盘盘符),怎么打开资源管理器呢?下面小编教你怎么做。资源管理器在哪儿找——工具/原料电脑资源管理器在哪儿找——方法/步骤资源管理

声明:《布局管理器 java控制组件位置方法》为网友自己读懂自己分享!如侵犯到您的合法权益请联系我们删除