第十二章、AWT图形用户界面

1、AWT基本元素 

menu和CheckboxMenuItem是menuItem的子类,而menu的一个重要方法是public MenuItem add(MenuItem mi),这样的表示方法意味着这样一 个事实:那就是menu可以加入的内容有MenuItem、CheckboxMenuItem 以及menu类自身的对象,因为CheckboxMenuItem及menu作为MenuItem 的子类,都可以被MenuItem的声明来引用,都符合add(MenuItem mi)中的 参数条件。


2、组件在容器中的定位 

(1)坐标方式定位

对于各容器组件来说,其坐标系原点是容器左上角。当容器位置变化时,嵌入容器的组件在容器中的相对位置并不变化。

(2)AWT布局管理器定位

布局管理器负责管理组件在容器中的显示属性,例如排列顺序,组件的大小、位置,当窗口移动或调整大小后,组件如何变化等。不同的布局管理器使用不同算法和策略,容器可以通过选择不同的布局管理器来决定布局。

布局管理器类型主要有:FlowLayout,BorderLayout,GridLayout,CardLayout,GridBagLayout。

(3)布局管理器的取消

容器定位组件的默认方式采用布局管理器,容器可以根据需要取消布局管理器,方法是调用容器方法setLayout(null)。此后,组件在容器中的位置将采用坐标方式进行定位,例如通过setBounds(int,int,int,int)来确定组件坐标位置及宽度和高度。

3、AWT事件模型 

(1)层次模型

(2)委托模型

通过委托模型让按钮响应事件

(3)委托模型的优点

1、多个监听者可以对同一个事件源对象中的同一事件进行处理。

2、一个事件源中的多个事件可以分别被不同的监听者进行处理。

3、一个监听者可以注册到多个事件源中,对同类事件进行处理。

(4)委托模型的构成

1、将所有事件都封装在包java.awt.event当中,与AWT有关的所有事件类都由java.awt.AWTEvent类派生(它的父类是EventObject)。根据事件类型的不同,分为低级事件和高级事件。

2、采用接口对事件处理内容进行细化,并作为事件源和事件处理者之间联系的桥梁。

3、AWT中常用组件可能引起的事件类型 。

一些低级和高级事件类型
AWT中常用事件与监听者之间的对应关系       
事件接口具体方法1
事件接口具体方法2
AWT中常用组件可能引起的事件类型


(5)监听接口实现的四种方式

1、在实现者当中给出接口每个方法的实现 

2、采用接口形式产生匿名对象给出实现

3、采用事件适配器,事件适配器就是针对特定的监听接口给出的默认实现

4、采用适配器形式产生匿名对象给出实现

4、图形图像处理

(1)概述

paint方法、Canvas和Graphics 对象

(2)组件重绘

(3)Graphics对象: 在paint方法当中,由其参数得到该对象的引用。 调用Component的getGraphics方法得到该组件对象的Graphics引用

Graphics对象的文字绘制、图形绘制、图像绘制方法及相关注意事项

绘制区域的设置:setClip方法与clipRect方法

相对坐标的使用:translate方法

Graphics2D:是Graphics的一个子类,用来绘制2D图形物件,能对形状、文本和图像的展示提供更加完善的控制。

(4)双缓存技术

在Component及其子类的paint方法中,进行图形图像绘制时,如果绘制内容复杂且频繁时,往往比较费时,常常出现绘制界面的抖动,为了解决这个问题,可以先将绘制的内容保留在一个Image对象当中,如果需要重新显示绘制的内容,例如界面最小化后重新浮现,仅仅简单的将这个Image内容再现就行了,这个技术就是双缓存技术。

你可能感兴趣的:(第十二章、AWT图形用户界面)