五种界面布局
来源:互联网 发布:注册短信验证php 编辑:程序博客网 时间:2024/05/29 03:32
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文档)- 五种界面布局
- 【layout】盘点界面五大布局
- java面板的使用与五种界面布局方式(FLowLayout、BorderLayout、GridLayout、CardLayout、BoxLayout)
- android五种布局
- 五种布局
- android五种布局
- 五种布局方式
- Android五种布局
- Android 五种布局
- 五种布局
- android 五种布局
- 五种布局
- Android软件开发之盘点界面五大布局
- Android软件开发之盘点界面五大布局
- Android软件开发之盘点界面五大布局
- Android软件开发之盘点界面五大布局
- Android软件开发之盘点界面五大布局
- Android软件开发之盘点界面五大布局
- arm 总线问题,初学,大家指教
- [LeetCode124]Word Search
- AMBA总线介绍
- Longest Common Prefix -最长公共前缀
- Java图片缩放类
- 五种界面布局
- 【黑马程序员】内部类学习
- NYOJ69数的长度
- C++课程设计--路口交通灯
- 留着以后看的书~
- Mybatis基本使用(一)
- android之ScrollView里嵌套ListView
- 两个单链表的交叉结点
- 黑马程序员--银行调度系统