博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java窗口(JFrame)从零开始(4)——流布局+边界布局+网格布局
阅读量:6920 次
发布时间:2019-06-27

本文共 3074 字,大约阅读时间需要 10 分钟。

流布局:

FlowLayout构造方法:
FlowLayout()

构造一个新的 FlowLayout,它是居中对齐的,默认的水平和垂直间隙是 5 个单位。

FlowLayout(int align)

构造一个新的 FlowLayout,它具有指定的对齐方式,默认的水平和垂直间隙是 5 个单位。

FlowLayout(int align, int hgap, int vgap)

创建一个新的流布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙。

注意:

align=0:表示每一行组件将按照左对齐排列      align=1:表示每一行组件将按照居中对齐排列      align=2:表示每一行组件将按照右对齐排列

代码:

package jframe;import java.awt.Button;import java.awt.Container;import java.awt.FlowLayout;import javax.swing.*;public class jframe extends JFrame{    /**     *      */    private static final long serialVersionUID = 1L;    public jframe(){        new JFrame("title");        Container con = getContentPane();        setLayout(new FlowLayout(0,10,10));            //按照左对齐排列垂直水平间隔为10        for (int i=0;i<10;i++){            add(new JButton("Button"+i));              //添加组件        }        this.setVisible(true);                         //设置窗体可见        this.setSize(300, 300);                        //设置窗体大小    }    public static void main(String[] args) {        jframe a = new jframe();    }}

如果改变窗体的大小其中组件的位置也会跟着改变

clipboard.pngclipboard.png

边界布局:

这是一个布置容器的边框布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:北、南、东、西、中。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTH、SOUTH、EAST、WEST、CENTER。当使用边框布局将一个组件添加到容器中时,要使用这五个常量之一。

代码演示:

package jframe;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Container;import java.awt.FlowLayout;import javax.swing.*;public class jframe extends JFrame{        /**     *      */    private static final long serialVersionUID = 1L;    String border [] = {BorderLayout.NORTH,BorderLayout.SOUTH,BorderLayout.WEST,            BorderLayout.EAST,BorderLayout.CENTER};        String borderName [] = {"North","South","West","East","Center"};        public jframe(){        this.setTitle("test");        Container con = this.getContentPane();        this.setLayout(new BorderLayout());                        //设置容器为边界布局管理器        for (int i=0;i<5;i++){            con.add(border[i],new JButton(borderName[i]));        ///循环添加按钮,并设置按钮布局        }        this.setVisible(true);        this.setBounds(50, 50, 500, 300);    }    public static void main(String[] args) {        new jframe();    }}

clipboard.png

网格布局

GridLayout 类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件。

构造方法摘要

GridLayout()

创建具有默认值的网格布局,即每个组件占据一行一列。

GridLayout(int rows, int cols)

创建具有指定行数和列数的网格布局。

GridLayout(int rows, int cols, int hgap, int vgap)

创建具有指定行数和列数的网格布局(hgap指定网格之间的水平间距,vgap指定网格之间垂直间距)。

代码演示:

package jframe;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Container;import java.awt.FlowLayout;import java.awt.GridLayout;import javax.swing.*;public class jframe extends JFrame{        /**     *      */    private static final long serialVersionUID = 1L;    public jframe(){        this.setTitle("test");        Container con = this.getContentPane();        this.setLayout(new GridLayout(7,3,5,5));        //设置7行3列垂直水平间隔为5        for (int i=0;i<20;i++){            con.add(new JButton("Button"+i));            //20个按钮        }        this.setVisible(true);        this.setBounds(50, 50, 300, 500);    }    public static void main(String[] args) {        new jframe();    }}

clipboard.png

转载地址:http://eiecl.baihongyu.com/

你可能感兴趣的文章
大话IT第十七期:体验Ubuntu 11.10
查看>>
打击拼多多,就是打击腾讯微信生态
查看>>
谈Hadoop平民化(infoq访谈)
查看>>
感恩的心,感谢有你--51CTO!
查看>>
【cocos2d-x从c++到js】17:使用FireFox进行JS远程调试
查看>>
Python的数据模型
查看>>
北大校长:科研不端行为的成因是基本训练不够
查看>>
linux命令大全
查看>>
oracle12c rac搭建时主机名无效问题的解决
查看>>
Lync 2010迁移Lync 2013 PART5:支持旧版Lync
查看>>
用xtrabackup实现mysql的主从复制快速部署【主不锁表】
查看>>
最终用户计算一周观察 001
查看>>
MySQL主从ssl加密传输签署证书报错解决
查看>>
SQL2008如何管理对象使用的空间
查看>>
纪守领老师的博客
查看>>
42.从非托管磁盘创建虚拟机
查看>>
jeecms看过来
查看>>
XenApp_XenDesktop_7.6实战篇之十七:XenApp应用程序交付
查看>>
XAML实例教程系列 - 类型转换器(Type Converter)
查看>>
来自科学网博主的问候
查看>>