Java中五种界面布局类和实际中的使用
JPanel和JFrame之间的联系:(JPanel)Panel是一个轻量级的容器,由于不是顶级的容器,故其必须放在(JFrame)Frame等高级容器上,这样就可以在一个Frame(JFrame)上通过Panel和五种界面布局管理器来构建复杂的应用程序界面。下面来介绍一下五种界面布局管理器:1、 FlowLayout:流式布局用于安排有向流中的组件,流的方向取决于容器的comp
JPanel和JFrame之间的联系:
(JPanel)Panel是一个轻量级的容器,由于不是顶级的容器,故其必须放在(JFrame)Frame等高级容器上,这样就可以在一个Frame(JFrame)上通过Panel和五种界面布局管理器来构建复杂的应用程序界面。
下面来介绍一下五种界面布局管理器:
1、 FlowLayout:
流式布局用于安排有向流中的组件,流的方向取决于容器的componentOrientation属性,它可能是以下两个值中的一个:componentOrientation.LEFT_TO_RIGHT或componentOrientation.RIGHT_TO _ LEFT
流布局一般用于安排面板中的按钮。它使得按钮呈水平放置,直到同一条线上再也没有合适的按钮。
2、 BorderLayout
这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTH 、SOUTH 、EAST 、WEST 、CENTER。当使用边框布局将一个组件添加到容器中时,要使用五个常量之一,eg:
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
panel.add(new Button(“Clear”),BorderLayout.NORTH);
3、 GridLayout:
GridLayout类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分为大小相等的矩形,一个矩形中放置一个组件。
例如,下面是一个将六个按钮布置到三行两列中的 applet:
importjava.awt.*;
importjava.applet.Applet;
public classButtonGrid extends Applet {
public voidinit() {
setLayout(new GridLayout(3,2));
add(newButton("1"));
add(newButton("2"));
add(new Button("3"));
add(newButton("4"));
add(newButton("5"));
add(newButton("6"));
}
}
通过构造方法或 setRows 和 setColumns 方法将行数和列数都设置为非零值时,指定的列数将被忽略。列数通过指定的行数和布局中的组件总数来确定。因此,例如,如果指定了三行和两列,在布局中添加了九个组件,则它们将显示为三行三列。仅当将行数设置为零时,指定列数才对布局有效。
4、 CardLayout
CardLayout对象是容器的布局管理器。它将容器中的每个组件看作一张卡片。一次只能看到一张卡片,容器则充当卡片的堆栈。当容器第一次显示时,第一个添加到CardLayout对象的组件为可见组件。
卡片的顺序由组件对象本身在容器内部的顺序决定。CardLayout定义了一组方法,这些方法允许应用程序按顺序地浏览这些卡片,或者显示指定的卡片。addLayoutComponent(java.awt.Component,java.lang.Object)方法可用于将一个字符串标识符与给定卡片关联,以便进行快速随机访问。
5、 BoxLayout:
允许垂直或水平布置多个组件的布局管理器。这些组件将不包装,因此举例来说,垂直排列的组件在重新调整框架的大小时仍然被垂直排列。(此布局由于还未怎么使用过,详细之处就不再介绍,详情可参考API文档)更多推荐
所有评论(0)