package com.swing;

import java.awt.Container;
import java.awt.FlowLayout; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants; /**
* 1:流(FlowLayout)布局管理器是布局管理器中最基本的布局管理器,流布局管理器在整个容器中
* 的布局正如其名,像流一样从左到右摆放组件,直到占据了这一行的所有空间,然后再向下移动一行。
* 默认情况下,组件在每一行上都是居中排列的,但是通过设置也可以更改组件在每一行上的排列位置
*
* 2:FlowLayout类中具有三种构造方法
* alignment参数使用流布局管理器后组件在每一行的具体摆放位置
* horizGap参数以像素为单位指定组件之间的水平分割
* vertGap参数以像素为单位指定组件之间的垂直分割
*
* @author biexiansheng
*
*/
public class FlowLayoutPosition extends JFrame{ public FlowLayoutPosition(){
setTitle("本窗体使用流布局管理器");//设置窗体标题
Container container=getContentPane();//初始化容器
//设置窗体使用流布局管理器,使组件右对齐,并且设置组件之间的水平间隔,和垂直间隔
setLayout(new FlowLayout(1,10,10));//new一个构造方法
//FlowLayout第一个参数设置为0每一行组件将按照左对齐排列
//FlowLayout第一个参数设置为1每一行组件将按照中间对齐排列
//FlowLayout第一个参数设置为2每一行组件将按照右对齐排列 for(int i=0;i<10;i++){//在容器中添加10个按钮
container.add(new JButton("button"+i));
//new一个按钮构造方法,这种使用技巧勤加练习
}
setSize(300,200);//设置窗体的大小
setVisible(true);//设置窗体可视化
//设置窗体的关闭方式
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
} public static void main(String[] args) {
FlowLayoutPosition fl=new FlowLayoutPosition();
//初始化对象调用构造方法
}
}

实例运行结果如下

package com.swing;

import java.awt.BorderLayout;
import java.awt.Container; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants; /**
* 1:在默认不指定窗体布局的情况下,Swing组件的布局模式是边界(BorderLayout)
* 布局管理器
*
* 2:边界布局管理器还可以将容器划分为东西南北中5个区域,可以将组件加入到这5个区域中
* 边界布局管理器可将标签放置在窗体中间,并且整个组件占据了窗体的所有的空间
*
* 3:容器调用Container类的add()方法添加组件时可以设置此组件在边界布局管理器中的区域
* 区域的控制可以由BorderLayout类中的成员变量来决定
* @author biexiansheng
*
*/
public class BorderLayoutPosition extends JFrame{ //定义组件摆放位置的数组
String[] border={BorderLayout.CENTER,BorderLayout.NORTH
,BorderLayout.SOUTH,BorderLayout.WEST,BorderLayout.EAST};
/*1:将布局以及组件名称分别放置在数组中,然后设置容器使用边界布局管理器
* 最后在循环中将按钮添加到容器中,并设置组件布局
*2:add()方法提供了在容器中添加组件的功能,并同时设置组件的摆放位置
* */
//定义按钮组件上面的文字ESWN 东南西北 上北下南左西右东
String[] buttonName={"center button","north 北 button",
"south 南 button","west 西 button","east 东 button",};
public BorderLayoutPosition(){//定义一个构造方法
setTitle("这个窗体使用边界布局管理器");//
Container container=getContentPane();//定义一个容器
setLayout(new BorderLayout());//设置容器为边界布局管理器
//setLayout()语法为设置布局管理器 //在容器中添加按钮,并设置按钮布局
for(int i=0;i<border.length;i++){
container.add(border[i],new JButton(buttonName[i]));
} //设置窗体的外部属性
setSize(350,200);//设置窗体的大小
setVisible(true);//设置窗体可见
//设置窗体的关闭方式
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
BorderLayoutPosition bl=new BorderLayoutPosition();
//实例化对象的时候就调用了构造方法
} }

实例运行结果如下

package com.swing;

import java.awt.Container;
import java.awt.GridLayout; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants; /**
* 1:网格(GridLayout)布局管理器将容器划分为网格,所以组件可以按行和列进行排列
* 在网格布局管理器中,每一个组件的大小都相同,并且网格中空格的个数由网格的行数和列数决定
* 如一个两行两列的网格能产生4个大小相等的网格,
*
* 2:组件从网格的左上角开始,按照从左到右,从上到下的顺序加入到网格中,而且每一个组件都会填满
* 整个网格,改变窗体的大小,组件的大小也会随之改变
*
* 3:网格布局管理器主要有2个构造方法
* rows参数代表网格的行数
* columns参数代表网格的列数,这2个参数只有一个可以为0代表一行或者一列可以排列任意多个组件
* 参数horizGap指定网格之间的间距,指定网格之间的水平间距
* 参数vertGap指定网格之间的垂直间距
* @author biexiansheng
*
*/
public class GridLayoutPosition extends JFrame{ public GridLayoutPosition(){//定义一个构造方法
Container container=getContentPane();//定义一个容器 //设置窗体使用网格布局管理器,设置了7行3列的网格
setLayout(new GridLayout(7,3,5,5));//先开始设置布局管理器
for(int i=0;i<20;i++){
container.add(new JButton("button"+i));
}
//设置容器的外部结构
setTitle("这是一个网格布局管理器的窗体");
setSize(300,300);//设置窗体的大小
setVisible(true);//设置窗体的可见
//设置窗体的关闭方式
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
GridLayoutPosition gl=new GridLayoutPosition();
//初始化对象时调用构造方法
} }

实例运行结果如下

JAVA学习Swing章节流布局管理器简单学习的更多相关文章

  1. (转)Java 的swing.GroupLayout布局管理器的使用方法和实例

    摘自http://www.cnblogs.com/lionden/archive/2012/12/11/grouplayout.html (转)Java 的swing.GroupLayout布局管理器 ...

  2. Java 的swing.GroupLayout布局管理器的使用方法和实例(转)

    The following builds a panel consisting of two labels in one column, followed by two textfields in t ...

  3. Java Swing 盒布局管理器

    Swing 盒布局管理器 因为项目的原因,重新看看swing的东西,在想要将两个横向的容器纵向表示的时候,发现用盒布局 话不多说,直接代码 package ui; import javax.swing ...

  4. java流布局管理器

    public class FlowLayoutPosition extends JFrame{    public FlowLayoutPosition()    {        setTitle( ...

  5. 文献管理器endnote学习笔记

    目录 文献管理器endnote学习笔记 一.文献信息输入(将文献信息添加到文献管理软件endnote的多种方法) 1.在线检索(方便快捷,但有些网站无法直接检索) 2.网站输出(所有网站都支持的方式, ...

  6. JAVA学习Swing章节按钮组件JButton的简单学习

    package com.swing; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout; ...

  7. JAVA学习Swing章节JPanel和JScrollPane面板的简单学习

    package com.swing; import java.awt.Container; import java.awt.GridLayout; import javax.swing.JButton ...

  8. Java基础之创建窗口——使用流布局管理器(TryFlowLayout)

    控制台程序. FlowLayout把组件放在容器的连续行中,使每一行都放置尽可能多的组件.如果某行已满,就放在下一行.工作方式类似于文本处理器把单词放在行中.主要用途是放置按钮,但也可以用来放置其他组 ...

  9. 【java】浅析java组件中的布局管理器

    这篇博文笔者介绍一下java组件中,常用的布局管理器.java组件中的布局方式有好几十种,所有的这些布局管理器都实现了java.awt.LayoutManager接口.接下来笔者介绍一下常用的5种布局 ...

随机推荐

  1. Cadence学习之——多部分元件原理图封装的画法

    在这里以NE5532为例 1.打开新建元件的属性设置框 (1)这里的Package per Pkg设置框就是用来设置元件共有几个部分的. (2)Package Type有两个选项Homogeneous ...

  2. 简单介绍Android应用特色及详解四大组件

    Android应用特色 Android主要有什么特色呢,有以下几个方面来体现: 四大组件 丰富的系统控件 SQLite数据库等持久化技术 地理位置定位 强大的多媒体 传感器 1,四大组件 Androi ...

  3. oracle数据学习第二天

    今天主要加强了对oracle数据库的数据类型一些相关函数的学习  (一)char和varchar2  字符串函数 <1>concat(char1,char2)字符串连接函数,用于连接两个字 ...

  4. 2.Java对象创建

    1. 对象的创建 虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载.解析和初始化过.如果没有,那必须先执行相应的类 ...

  5. css 单位-px、em、rem、百分比

    px像素(Pixel,像素px是相对于显示器屏幕分辨率而言的. em是相对长度单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于父级元素字体尺寸(若父级元素未指定f ...

  6. ssh: connect to host gihub.com port 22: Connection timed out

    方案1(本人使用此方案,问题得已解决): 可能是ssh-server未安装或者未启动.我的ubuntu 12.04 默认只安装了openssh-client,并没有安装server. 运行 ps -e ...

  7. [VS2013]如何闪开安装VS2013必须要有安装IE10的限制

    来源:http://blog.163.com/qimo601@126/blog/static/1582209320143354446462/   已阻止安装程序,此版本的Visual Studio需要 ...

  8. 团队博客作业Week1

    Study the projects done by previous student groups - View their blog site, use their software, email ...

  9. 『TCP/IP详解——卷一:协议』读书笔记——09

    2013-08-22 12:42:26 3.4 子网寻址 子网编码:不是把IP地址看成由单纯的网络号和主机号组成,我们把主机号再分成子网号和主机号.这样做是因为,A.B类地址为主机号分配了太多的空间, ...

  10. Android webview 上传文件不调用openFileChooser解决办法

    html页面带有图片上传功能,关于使用openFileChooser方法去选择图片,并且在onActivityResult方法里面设置返回的图片url文件路径,网上有很多,再次不再赘述. 实践中发现, ...