• 第十一周总结


    一、布局管理器所属类包
    所属类包
    布局管理器名称
    说明
    Java.awt
    FlowLayout(流式布局)
    组件按照加入的先后顺序按照设置的对齐方式从左向右排列,一行排满到下一行开始继续排列
    BorderLayout(边界布局)
    容器划分为东、西、南、北、中五个区域,每个区域只能放置一个组件。
    GridLayout(网格布局)
    容器的空间划分成M×N列的网格区域, 每个区域只能放置一个组件。
    CardLayout(卡片布局)
    如同一叠牌,每个牌对应一个组件,但每次只能显示其中的一张牌。适用于在一个空间中防止多个组件的情况
    GridBagLayout(网格包布局)
    GridLayout的升级版,组件仍然是按照行、列放置,但是每个组件可以占据多个网格
    Java.swing
    BoxLayout(箱式布局)
    允许在容器中纵向或者横向防止多个控件
    SprigLayout(弹簧布局)
    根据一组约束条件放置控件

    空布局
    不使用布局管理器,按照控件自身提供的大小、位置信息放置控件

    二、容器的默认布局管理器
    各容器都有默认的布局管理,见下表:
    容器
    默认布局方式
    顶层容器
    JFrame
    BorderLayout(边界布局)
    JDialog
    BorderLayout(边界布局)
    JApplet
    FlowLayout(流式布局)
    中间容器
    JPanel
    FlowLayout(流式布局)

    三、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)

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

    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.LEFT));
    3)        设置框架fr为组件左对齐的FlowLayout布局,并且组件的水平间距为20像素,垂直间距为40像素。
    fr.setLayout(new  FlowLayout(FlowLayout.LEFT,20,40));

    GridLayout与GridBagLayout区别

    构造函数:
    GridLayout()
    建立一个默认为一行一列的GridLayout。
    GridLayout(int rows,int cols)
    建立一个指定行(rows)和列(cols)的GridLayout。
    GridLayout(int rows,int cols,int hgap,int vgap)
    建立一个指定行(rows)和列(cols),且组件间水平间距为hgap、垂直间距为vgap的GridLayout。

    构造函数:
    GridBagLayout()
    建立一个默认的GridBagLayout
    每一个单元格都有各自的属性,而这些属性由GridBagConstrainsts类的成员变量来定义,且GridBagConstriaints中的所有成员变量都是public的。

    package practice1;
    import java.awt.FlowLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    public class practice1{

    public static void main(String[] args) {
    JFrame frame=new JFrame("FlowLayout");
    frame.setLayout(new FlowLayout (FlowLayout.CENTER,4,4));
    JButton but=null;
    for(int i=0;i<=9;i++)
    {
    but=new JButton("按钮 "+i);
    frame.add(but);
    }
    frame.setSize(300,200);
    frame.setVisible(true);
    }

    }

  • 相关阅读:
    [mock open]PyUnit执行单元测试时使用字符串模拟文件对象
    bottle 0.5中的key-value数据库
    bottle模板中的替换
    返回不同值的小技巧
    带有参数的装饰器
    常用命令速查
    SQLAlchemy多线程下事务隔离机制详解
    Bancor 协议浅析
    Flask中 endpoint 解析
    pip 相关问题
  • 原文地址:https://www.cnblogs.com/JCclub/p/11822099.html
Copyright © 2020-2023  润新知