zoukankan      html  css  js  c++  java
  • Java界面编程—布局管理

    布局是指容器中组件的排列方式

    常用的布局管理器

    布局管理器名称 所属类包 说明
    FlowLayout(流式布局) java.awt 组件按照加入的先后顺序、按照设置的对齐方式从左向右排列,一行排满后到下一行开始继续排列
    BorderLayout(边框布局) 容器划分为东、西、南、北、中五个区域,每个区域只能放一个组件
    CardLayout(卡片布局) 能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像一叠牌,组件叠在一起,初始时显示该空间中第一个添加的组件,通过CardLayout类提供的方法可以切换该空间中显示的组件。
    GridLayout(网格布局) 容器的空间被划分为 M×N 个网格区域,每个区域只能放置一个组件
    GridBagLayout(网格包布局) GridLayout的升级版,组件仍然是按照行、列放置,但是每个组件可以占据多个网格。
    BoxLayout(箱式布局) java.swing 允许在容器中纵向或者横向放置多个组件
    SprigLayout(弹簧布局) 根据一组约束条件放置组件
    空布局 不适用布局管理器,按照组件自身提供的大小、位置信息放置组件。

    容器的默认布局管理器

      容器 默认的布局管理器
    顶层容器     
    JFrame       BorderLayout(边框布局) 
    JDialog BorderLayout(边框布局)
    JApplet FlowLayout(流式布局)
    中间容器 JPanel FlowLayout(流式布局)

    FlowLayout(流式布局)

    使用 FlowLayout 布局方式的容器中组件按照加入的先后顺序和设置的对齐方式(左对齐、居中、右对齐)从左向右排列,一行排满(即组件超过容器的宽度后)后, 到下一行开始继续排列。

    -- 组件按照设置的对齐方式进行排列

    -- 无论对齐方式如何,组件均按照从左向右的方式进行排列,一行排满,转到下一行。比如按照右对齐排列,第一个组件放置在第一行的最右边,添加第二个组件时,第一个组件向左平移,第二个组件变成该行最右边的组件,最终,组件还是按照先后顺序从左向右排列,只不过靠在容器的右侧。

    java.awt.FlowLayout
    public class FlowLayout extends Object implements LayoutManager, Serializable
    // 构造器
    public FlowLayout()  // 创建一个流式布局,默认是居中对齐,水平和垂直间隙是 5 个像素
    public FlowLayout(int align)  // 创建一个流式布局,指定对齐方式,默认水平和垂直间隙是 5 个像素 对齐方式使用FlowLayout的属性指定
    public FlowLayout(int align, int hgap, int vgap)  // 创建一个流式布局,指定对齐方式,指定水平和垂直间隙
    // 常用方法
    public void Void setAlignment(int align)  // 设置比布局的对齐方式
    public void setHgap(int hgap)  // 设置组件之间及组件和容器之间的水平间隙
    public void setVgap(int vgap)  //  设置组件之间及组件和容器之间的垂直间隙

    BorderLayout(边框布局)

    -- 如果没有指定组件的方位,默认添加到中间的位置上。

    -- 总是满屏占满容器,如果东、西、南、北中某个方位没有对应的组件,中间位置的组件就会占据器空缺的位置。

    CardLayout(卡片布局)

    java.awt.CardLayout
    public class CardLayout extends Object implements LayoutManager2, Serializable
    // 构造器
    public CardLayout()  // 组件距容器左右边界和上下边界距离为缺省值0个像素
    public CardLayout(int hgap, int vgap)  // 组件距容器左右边界和上下边界的距离为指定值
    // 常用方法
    public void show(Container parent, String name)  // 显示指定卡片 
    public void first(Container parent)  // 翻转到容器的第一张卡片 
    public void last(Container parent)  // 翻转到容器的最后一张卡片 
    public void previous(Container parent)  // 翻转到指定容器的前一张卡片 
    public void next(Container parent)  // 翻转到指定容器的后一张卡片 

    GridLayout(网格布局)

    -- 如果网格数量不够使用时,默认会多加一列

    GridBagLayout(网格包布局)

    BoxLayout(箱式布局)

    SprigLayout(弹簧布局)

  • 相关阅读:
    64位内核开发第十二讲,进程监视,ring3跟ring0事件同步.
    64位内核开发第十讲,IRQL中断级别了解
    64位内核开发第九讲,注册表编程.
    64位内核开发第8讲,文件操作.以及删除文件.
    64位内核第七讲.内核中字符串编程注意事项
    【Unity】7.5 移动设备输入
    【Unity】7.4 游戏外设输入
    【Unity】7.3 键盘输入
    【Unity】7.2 鼠标输入
    【Unity】7.1 Input类的方法和变量
  • 原文地址:https://www.cnblogs.com/0820LL/p/9956708.html
Copyright © 2011-2022 走看看