文档章节

AWT&Swing(一)-布局管理器

s
 smallsnail
发布于 2015/08/12 21:09
字数 1153
阅读 55
收藏 0

1、GUI(Graphics User Interface)图形用户界面

AWT(Abstract Window Toolkit)抽象窗口工具集


2、AWT的类之间的构造关系

Panel:


ScrollPane:

    


3、布局管理器

        管理组件在容器中的布局,避免了直接设置组件的位置和大小。

        所有的AWT容器都有默认的布局管理器



名称

特点

构造器

注意

FlowLayout

向某方向依次排列,到头就折回,默认从左向右

FlowLayout():默认对齐方式创建

FlowLayout(int align):指定对齐方式

FlowLayout(int align,int hgap,int vgap):指定对齐方式和指定垂直间距、水平间距


BorderLayout

将容器分为五个区域

BorderLayout():使用默认的水平距离和垂直距离创建


BorderLayout(int hgap,int vgap):指定水平间距和垂直间距创建此布局管理器

hgap:水平间距

vgap:垂直间距

1:需要指定添加到哪个区域;如果没有指定默认添加到中间

2:如果向同一区域添加多个组件,后来的会把原来的覆盖掉

GridLayout

将容器分割成网格

默认从左向右、从上到下依次添加到每个网格中

添加的组件的大小由其所在的区域来决定

GridLayout(int rows,int cols):指定行数列数

GridLayout(int row,int cols,int hgap,int vgap):指定行数、列数、横向间距、纵向间距


GridBagLayout

一个组件可以跨越一个或多个网格

可以设置各个网格的大小互不相同

使用GridBagConstraints对象来控制组件(可以重复使用)

GridBagConstraints的属性介绍:

详见下表

???

CardLayout

以时间来管理它里面的组件

将放入容器的组件看成一叠卡片,只能看到最上面的那个

CardLayout()

CardLayout(hgap,vgap):指定卡片与容器的左右hgap边界的距离和上下vgap边界的距离

first():第一张

last():最后一张

previous():前一张

next():后一张

show():指定一张

BoxLayout

可以在垂直和水平方法上摆放组件

通常和Box容器组合使用


BoxLayout(Container,int axis):按照axis方向排列:BoxLayout.X_AXIS(横向)BoxLayout.Y_AXIS(纵向)

Box容器

createHorizontalBox():创建水平容器

createVericalBox():创建垂直容器

X_AXIS:横向

Y_AXIS:纵向



GridBagConstraints属性介绍

属性 含义 特殊值

gridx/gridy

受控组件的位置:

组件左上角在网格横纵向的索引数

RELATIVE:紧跟上一个组件

gridwidth/gridheight

受控组件横纵向跨越多少个网格

REMAINDER:横纵向最后一个组件

RELATIVE:横纵向倒数第二个

fill

受控组件如何占据空白区域

NONE:不扩大

HORIZONTAL:水平扩大以占据空白区域

VERTICAL:垂直扩大以占据空白区域

BORTH:水平、垂直同时扩大以占据空白区域

ipadx/ipady

受控对象控制的组件横纵向填充的大小??

insets

受控组件外部填充的大小

anchor

受控组件在其显示区域中的定位方式

CENTER:居中

NORTH:上中/NORTHWEST:上左/NORTHEAST:上右

SOUTH:下中/SOUTHWEST:下左/SOUTHWEST:下右

WEST:左中

EAST:右中

weighx/weighy

受控组件占据多余空间的水平、垂直增加比例

也叫权重



Box的方法

方法名称

作用

createHorizontalBox()

创建水平排列的Box容器

createVerticalBox()

创建垂直排列的Box容器

createHorizontalGlue()

创建一条水平Glue(可在两个方向上同时拉伸距离)

createHorizontalStrut(int weith)

创建一条指定宽度的水平Strut(不可拉伸)

createVerticalGlue()

创建一条垂直Glue(可在两个方向上同时拉伸距离)

createVerticalStrut(int height)

创建一条指定高度的垂直Strut(不可拉伸)

createRigidArea(Dimension d)???

创建指定宽度、高度的RigidArea(不可拉伸)

4、对话框

    注意:

            (1)对话框通常以来==依赖于其他窗口

            (2)对话框分为模式和非模式两种,

注意:

(1)对话框通常以来==依赖于其他窗口

(2)对话框分为模式和非模式两种,

         模式:当某个模式Dialog打开之后,总是位于它依赖的窗口只上,在模式对话框关闭之前它所依赖的窗口无法获得焦点


构造器的参数:

ower:   指定Dialog所依赖的窗口,既可以是窗口也可以是对话框

title:     指定Dialog的窗口标题

model: 指定Dialog是否是模式的(true or false)

子类:FileDialog
文件对话框

参数:

         (1)parent:   所属父窗口

         (2)title:       对话框标题

         (3)mode:    FileDialog.LOAD—打开文件;FileDialog.SAVE—保存文件

    




© 著作权归作者所有

上一篇: Swing学习记录一
下一篇: Swing学习记录一
s
粉丝 0
博文 2
码字总数 2389
作品 0
济南
私信 提问
Android - RecyclerView系列之小白篇

老婆保佑,代码无BUG 前言 本篇文章,其实很基础,也没什么难度,就是给自己查漏补缺,然后一点一点的积累, 目录 一:Adapter的写法 二:布局管理器 三:分割线 四:ItemAnimator 引用 一:...

Allens_Jiang
2018/01/04
0
0
Java基础学习总结(23)——GUI编程

一、AWT介绍      所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面...

zhanghaiyang
2015/12/30
58
0
java 图形界面 gui

图形用户界面简称GUI,提供了一种更加直观、友好的与用户进行交互方式。利用java语言进行图形用户界面操作主要由java.awt和java.swing两个包来完成。其中,AWT包是用户界面处理的基本工具包。...

开源中国段子手
2015/09/09
174
0
Java学习笔记之Swing(二)

Java学习笔记之Swing(二) ***通过本文你将学习到: 了解各种布局管理器的样式 掌握每一种布局管理器的使用 布局管理器 在Swing中的布局管理器有流布局、网格布局、边框布局、空布局、卡片布...

FelixSmile
2016/09/21
56
1
RecyclerView使用总结-------上

前言 学习使用RecyclerView也有一段时间,一直都没有时间做个总结,就抽空想把RecyclerView的一些使用方法总结出来,方便大家也方便自己查阅。 简介 RecyclerView是support.v7包中的控件,可...

CaostGrace
2018/05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

会用python把linux命令写一遍的人,进大厂有多容易?

看过这篇《2000字谏言,给那些想学Python的人,建议收藏后细看!》的读者应该都对一个命令有点印象吧?没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力...

上海小胖
16分钟前
4
0
HashMap的特性

一、hashmap数据结构:哈希表结构:数组+链表 hashmap调用默认构造方法会产生一个默认底层是长度为16的Entry数组,首先调用key的hasCode()方法来得到一个整数, int hash = hash(key.hashCode...

GGbird
17分钟前
15
0
第五章 spring-connet之Imports注解来龙去脉

前言 imports是一个在spring体系里非常重要的注解,基本每个Enable开头的注解必然有一个import注解。接下来我们深入研究下import的作用。看小节的同学建议先取看PostProcessorRegistrationDe...

鸟菜啊
20分钟前
3
0
CentOS部署Harbor镜像仓库

关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全、标识、管理等方面做了增强,更适合企业使用; 官方网站:https://goharbor.io/ 官方开源:...

程序员欣宸
25分钟前
4
0
JavaScript调试必会的8个console方法

每个JavaScript开发者都用过console.log()来调试程序,但实际上Console对象还提供了很多其他方法可以提高调试效率。本文将介绍8个有趣的Console方法,即使JavaScript老手也不一定知道! 1、c...

汇智网教程
47分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部