流布局
一、简单说明二、流程图三、关键代码四、流布局的几个方法(一)A为“空”(无内容)1.源码A2.源码A运行效果(二)A为“FlowLayout.LEFT”1.源码B2.源码B运行效果(三)A为“FlowLayout.RIGHT”1.源码C2.源码C运行效果(四)A为“FlowLayout.LEFT,40,30”1.源码D2.源码D运行效果五、结语六、定位日期一、简单说明
流布局简单引导。窗体内的组件,比如:按钮,会按顺序从第一行开始由左往右排列,当窗体内的第一行填不下时,便继续从下一行由左往右排列,以此类推,直到最后组件全部排列完为止。
当窗体内的组件没填满一行时,如下:
·当窗体第一行填不下时,继续填第二行,以此类推,直到填完为止。如下:
二、流程图
组件:比如按钮,标签等,后面源码则用按钮来做例子。这里流布局的方法,则是对组件(按钮)进行排列。此博文记录偏向于流布局的相关内容,若需要再多了解一些窗体、容器、组件的相关知识,可以参考往常的博文。三、关键代码
c.setLayout(new FlowLayout(A))
A可以为空,即默认情况,也可以添加其他条件。以下详细说明:
四、流布局的几个方法
注意:以下的源码A、B、C、D内容相同,只是在指定方法需要时,而注释掉了几行代码,只使用所用方法的相关代码。(一)A为“空”(无内容)
当代码c.setLayout(new FlowLayout(A))
中的A为空,也就是什么都没有时。流布局的布局方式为:窗体内的组件从左到右排列,组件的整体则居中。源码A,如下:
1.源码A
/**内容:流布局*/import java.awt.Container;// 容器import java.awt.FlowLayout;// 流布局import javax.swing.*;// 窗体class Demo extends JFrame{public Demo(){setBounds(100,80,500,400);// 确定窗体坐标、宽高;Bounds(边界)// default(默认值);operation(计算)setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×停止运行// content(目录);pane(边;窗格)Container c=getContentPane();// 获取容器// Layout(布局);Flow(流动)// 设置流布局放于容器中c.setLayout(new FlowLayout());// 情况一:默认情况;组件(按钮)排列顺序从左到右,居中//c.setLayout(new FlowLayout(FlowLayout.LEFT));// 情况二:组件排列顺序从左到右,靠左//c.setLayout(new FlowLayout(FlowLayout.RIGHT));// 情况三:组件排列顺序从左到右,靠右//c.setLayout(new FlowLayout(FlowLayout.LEFT,40,30));// 情况四:组件排列顺序从左到右,靠左;两组件水平间距、上下间距(像素)// 用for循环添加10个按钮for(int i_1=1;i_1<11;i_1++){c.add(new JButton("按钮"+i_1));}setVisible(true);// 是否可见}public static void main(String[] args){new Demo();}}
2.源码A运行效果
(二)A为“FlowLayout.LEFT”
当代码c.setLayout(new FlowLayout(A))
中的A为FlowLayout.LEFT
时,流布局的布局方式为:窗体内的组件从左到右排列,组件整体则靠左。源码B,如下:
1.源码B
/**内容:流布局*/import java.awt.Container;// 容器import java.awt.FlowLayout;// 流布局import javax.swing.*;// 窗体class Demo extends JFrame{public Demo(){setBounds(100,80,500,400);// 确定窗体坐标、宽高;Bounds(边界)// default(默认值);operation(计算)setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×停止运行// content(目录);pane(边;窗格)Container c=getContentPane();// 获取容器// Layout(布局);Flow(流动)// 设置流布局放于容器中//c.setLayout(new FlowLayout());// 情况一:默认情况;组件(按钮)排列顺序从左到右,居中c.setLayout(new FlowLayout(FlowLayout.LEFT));// 情况二:组件排列顺序从左到右,靠左//c.setLayout(new FlowLayout(FlowLayout.RIGHT));// 情况三:组件排列顺序从左到右,靠右//c.setLayout(new FlowLayout(FlowLayout.LEFT,40,30));// 情况四:组件排列顺序从左到右,靠左;两组件水平间距、上下间距(像素)// 用for循环添加10个按钮for(int i_1=1;i_1<11;i_1++){c.add(new JButton("按钮"+i_1));}setVisible(true);// 是否可见}public static void main(String[] args){new Demo();}}
2.源码B运行效果
(三)A为“FlowLayout.RIGHT”
当代码c.setLayout(new FlowLayout(A))
中的A为FlowLayout.RIGHT
时,流布局的布局方式为:窗体内的组件从左到右排列,组件整体则靠右。源码C,如下:
1.源码C
/**内容:流布局*/import java.awt.Container;// 容器import java.awt.FlowLayout;// 流布局import javax.swing.*;// 窗体class Demo extends JFrame{public Demo(){setBounds(100,80,500,400);// 确定窗体坐标、宽高;Bounds(边界)// default(默认值);operation(计算)setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×停止运行// content(目录);pane(边;窗格)Container c=getContentPane();// 获取容器// Layout(布局);Flow(流动)// 设置流布局放于容器中//c.setLayout(new FlowLayout());// 情况一:默认情况;组件(按钮)排列顺序从左到右,居中//c.setLayout(new FlowLayout(FlowLayout.LEFT));// 情况二:组件排列顺序从左到右,靠左c.setLayout(new FlowLayout(FlowLayout.RIGHT));// 情况三:组件排列顺序从左到右,靠右//c.setLayout(new FlowLayout(FlowLayout.LEFT,40,30));// 情况四:组件排列顺序从左到右,靠左;两组件水平间距、上下间距(像素)// 用for循环添加10个按钮for(int i_1=1;i_1<11;i_1++){c.add(new JButton("按钮"+i_1));}setVisible(true);// 是否可见}public static void main(String[] args){new Demo();}}
2.源码C运行效果
(四)A为“FlowLayout.LEFT,40,30”
当代码c.setLayout(new FlowLayout(A))
中的A为FlowLayout.LEFT,40,30
时,流布局的布局方式为:窗体内的组件从左到右排列,组件整体则靠左,组件之间的水平间距为40像素,竖直间距为30像素。对于这里例子的40、30像素可以根据自己需要,调整成其他数值的像素。源码D,如下:
1.源码D
/**内容:流布局*/import java.awt.Container;// 容器import java.awt.FlowLayout;// 流布局import javax.swing.*;// 窗体class Demo extends JFrame{public Demo(){setBounds(100,80,500,400);// 确定窗体坐标、宽高;Bounds(边界)// default(默认值);operation(计算)setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗体点击×停止运行// content(目录);pane(边;窗格)Container c=getContentPane();// 获取容器// Layout(布局);Flow(流动)// 设置流布局放于容器中//c.setLayout(new FlowLayout());// 情况一:默认情况;组件(按钮)排列顺序从左到右,居中//c.setLayout(new FlowLayout(FlowLayout.LEFT));// 情况二:组件排列顺序从左到右,靠左//c.setLayout(new FlowLayout(FlowLayout.RIGHT));// 情况三:组件排列顺序从左到右,靠右c.setLayout(new FlowLayout(FlowLayout.LEFT,40,30));// 情况四:组件排列顺序从左到右,靠左;两组件水平间距、上下间距(像素)// 用for循环添加10个按钮for(int i_1=1;i_1<11;i_1++){c.add(new JButton("按钮"+i_1));}setVisible(true);// 是否可见}public static void main(String[] args){new Demo();}}
2.源码D运行效果
五、结语
记录一事本可以粗概而论,但我还是决定分别记录不同情况下的源码以及对应的运行效果。统一而论的话,怕混淆,以及往后的不知如何衔接。总之,我记录的内容还是尽可能详细一些,多耗费一些时间也没关系。
六、定位日期
.11.3;23:13