swaggy郭钰轩

第十一周课程总结

本周课程上主要讲解了图形用户界面的相关知识,老师上课也给我们演示了各种布局管理器的预览,以及讲解了各种需要注意的事项和操作的详细步骤。
一、Swing和AWT
图形用户界面相关类捆绑在一起,放在一个称为抽象窗口工具箱(Abstract Window Toolkit,AWT)的库中.AWT适合开发简单的图形用户界面,但并不适合开发复杂的GUI项目。AWT的用户界面组件就被一种更稳定,更通用和更灵活的库取代,这种库称为Swing组件(Swing component)库。大多数Swing组件都是直接用java代码在画布上绘图的,而java.awt.Window或java.awt.Panel的子类的组件例外,它们必须使用在特定平台上自己的GUI 来绘图。Swing组件更少的依赖于目标平台并且更少的使用自己的GUI资源。因此,不依赖于自己GUI的Swing组件称为轻量级组件(lightweight component),而AWT组件称为重量级组件(heavyweight component).
Java GUI API
GUI API包含的类可以分为三个组:组件类(component class),容器类(container class),辅助类(helper class).组件类是创建用户界面的,例如,JButton,JLabel和JTextField。容器类是用来包含其他组件的,例如,JFrame,JPanel和JApplet。辅助类是用来支持GUI组件的,例如,Graphics,Color,Font,FontMetrics和Dimension。

二、布局管理器
FlowLayout 是最简单的布局管理器。按照组件添加的顺序,从左到右地将组件排列在容器中。当放满一行时,就开始新的一行。可以使用三个常量FlowLayout.RIGHT,FlowLayout.CENTER和FlowLayout.LEFT之一来指定组件的对齐方式。还可以指定组件之间以像素为单位的间隔。
BorderLayout管理器将容器分成五个区域:东区,南区,西区,北区和中央。使用add(Component,index)方法可以将组件添加到BorderLayout中,其中index是一个常量.
GridLayout管理器以网格(矩阵)的形式管理组件。组件按照它们添加的顺序从左到右排列,先是第一行,接着是第二行,以此类推。
可以指定网格中的行数和列数。基本规则如下:
(1)行数或列数可以为零,但不能两者都为零。如果一个为零另一个不为零,那么不为零的行或列的大小已经固定,而为零的行或列的大小由布局管理器动态的决定。例如,如果指定一个网格有0行3列10个组件,GridLayout就会创建3个固定的列和4个行,最后一行只包含1个组件。如果指定一个网格有3行0列10个组件,GridLayout就会创建3个固定的行和4个列,最后一行包含2个组件。
(2)如果行数和列数都不为零,那么行数就是主导参数;也就是说,行数是固定的,布局管理器会动态的计算列数。例如,如果指定一个网格有3行3列10个组件,GridLayout就会创建3个固定的行和4个列,最后一行包含2个组件。

三、布局管理器的属性
(1)FlowLayout具有属性alignment,hgap和vgap。可以使用setAlignment,setHgap和setVgap方法来表明对齐方式,水平间隔和垂直间隔。
(2)GridLayout具有属性rows,columns,hgap和vgap。可以使用setRows,setColumns,setHgap和setVgap方法来指定行数,列数以及水平间隔和垂直间隔。
(3)BorderLayout具有属性hgap和vgap。可以使用setHgap和setVgap方法来指定水平间隔和垂直间隔。
Color类
可以使用java.awt.Color类为GUI组件设置颜色。颜色是由红,绿,蓝这三原色构成的,每种原色都用一个int值表示它的深度,取值范围从0(最暗度)到255(最亮度)。这就是通常所说的RGB模式(RGB model)

posted on 2019-11-08 15:27  gggyx  阅读(113)  评论(1编辑  收藏  举报

导航