二十九Java图形化界面设计布局管理器之FlowLayout(流式布局).docx
文本预览下载声明
?
HYPERLINK /liujun13579/article/details/7771191 二十九、Java图形化界面设计——布局管理器之FlowLayout(流式布局)
???????? 前文讲解了JFrame、JPanel,其中已经涉及到了空布局的使用。Java虽然可以以像素为单位对组件进行精确的定位,但是其在不同的系统中将会有一定的显示差异,使得显示效果不尽相同,为此java提供了布局管理器,以使编写的图形界面具有良好的平台无关性。
???????? 注意:所有的布局管理器均是针对容器来使用的,包括顶层容器和中间容器。
一、布局管理器所属类包
所属类包布局管理器名称说明Java.awtFlowLayout(流式布局)组件按照加入的先后顺序按照设置的对齐方式从左向右排列,一行排满到下一行开始继续排列BorderLayout(边界布局)容器划分为东、西、南、北、中五个区域,每个区域只能放置一个组件。GridLayout(网格布局)容器的空间划分成M×N列的网格区域, 每个区域只能放置一个组件。CardLayout(卡片布局)如同一叠牌,每个牌对应一个组件,但每次只能显示其中的一张牌。适用于在一个空间中防止多个组件的情况GridBagLayout(网格包布局)GridLayout的升级版,组件仍然是按照行、列放置,但是每个组件可以占据多个网格Java.swingBoxLayout(箱式布局)允许在容器中纵向或者横向防止多个控件SprigLayout(弹簧布局)根据一组约束条件放置控件无空布局不使用布局管理器,按照控件自身提供的大小、位置信息放置控件
二、容器的默认布局管理器
各容器都有默认的布局管理,见下表:
容器默认布局方式顶层容器JFrameBorderLayout(边界布局)JDialogBorderLayout(边界布局)JAppletFlowLayout(流式布局)中间容器JPanelFlowLayout(流式布局)?
三、FlowLayout(流式布局)
使用FlowLayout布局方式的容器中组件按照加入的先后顺序按照设置的对齐方式(居中、左对齐、右对齐)从左向右排列,一行排满(即组件超过容器宽度后)到下一行开始继续排列。
1、流式布局特征如下:
l? 组件按照设置的对齐方式进行排列
l? 不管对齐方式如何,组件均按照从左到右的方式进行排列,一行排满,转到下一行。(比如按照右对齐排列,第一个组件在第一行最右边,添加第二个组件时,第一个组件向左平移,第二个组件变成该行最右边的组件,这就是从左向右方式进行排列)
?
2、流式布局FlowLayout类的常用构造函数和方法
构造函数名称用途FlowLayout() ???构造一个新的 FlowLayout,它是默认居中对齐的,默认的水平和垂直间隙是5个像素FlowLayout(int?align)构造一个新的 FlowLayout,它具有指定的对齐方式,默认的水平和垂直间隙是 5 个像素
五个参数值及含义如下:
0或FlowLayout.lEFT ,控件左对齐
1或FlowLayout.CENTER ,居中对齐
2或FlowLayout.RIGHT ,右对齐
3或FlowLayout.LEADING,控件与容器方向开始边对应
4或FlowLayout.TRAILING,控件与容器方向结束边对应
如果是0、1、2、3、4之外的整数,则为左对齐FlowLayout(int?align, int?hgap, int?vgap) ????创建一个新的流布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙。方法名称用途Void setAlignment(int align)设置此布局的对齐方式。void setHgap(int hgap)设置组件之间以及组件与 Container 的边之间的水平间隙。void setVgap(int vgap)设置组件之间以及组件与 Container 的边之间的垂直间隙。?
3、FlowLayout 布局应用代码段举例
1)????????设置FlowLayout 布局
JFrame? fr=new JFrame( );
FlowLayout? flow=new FlowLayout( );
fr.setLayout(flow);
上面的语句可以简化成:fr.setLayout(new FlowLayout());
2)????????设置框架fr为组件左对齐的FlowLayout布局?
fr.setLayout(newFlowLayout(FlowLayout
显示全部