第十二章、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内容再现就行了,这个技术就是双缓存技术。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容