1. Awt小程序 :
2 java的事件处理机制
三个重要概念:
事件:用户对组件的一个操作
事件源:发生事件的组件
事件处理器:某个java类中负责处理事件的成员方法
事件分类:
按事件的物理操作和GUI组件的表现效果进行分类:
MouseEvent,WindowEvent,ActionEvent
一个事件监听器对象负责处理一类事件
一类事件的每一种方法发生情况,分别由事件监听器对象中的一个方法具体实现
在事件源和事件监听器对象中进行约定的接口类(事件监听接口)
事件监听器接口类名称与事件类的名称是相对应的
如果要处理发生在GUI组件上的XXXEvent时间的处理通用流程:
1.编写一个实现了XXXListener接口的事件监听器类;
2.xxxListener类中的用于处理事件情况的方法中,编写处理代码
3.调用组件的addxxxListener方法,将类xxxListener创建的实例对象注册到GUI组件上
3.方法适配器
JDK中提供了大多数事件监听接口最简单的实现类
用事件适配器来处理事件,可以简化事件监听器来编写
监视器,适配器类在awt.event包中
只要继承了WindowAdapter,就不需要全部写出上面程序中七个方法,只需要写出覆 盖的方法
解决适配器思路:
-方法没有被调用?还是方法中的程序代码的执行问题?
-方法名写错了?还是没有注册事件监听器
事件适配器的不足之处:
Java不允许一个类继承两个类,如果一个类已经继承了一个类,就不能再继承适配器类了
4. Button监听
6. GUI组件上的图形操作
(1).Graphics类与图形绘制
drawLine,drawString(x,y坐标是相对应左下角)
(2).组件重绘处理
移动窗口原来绘制的图形就没有,这叫做窗口重绘
使用pait(Graphics g)来重绘
调用pait方法时候,是repaint方法调用update方法,update方法再 调用pait方法的过程
(3).图形处理
可以通过Graphics.drawImage
(Image img,int x,int y,ImageObserver observer)来显示图像
使用Component.getTollkit.getImage(String path)获得Image 实例对象
7. 双缓冲技术
Component.CreatImage方法创建内存Image对象
在Image对象上进行绘制的结果就成了一幅图像
在Image对象上执行与组件表面同样的绘制,Image对象中的图像时组件表面内容的 复制,当组件重画时候,只需要将内存中的Image对象在组件上画出
8. AWT组件
(1). Component类
Java图形用户界面最基本的组成部分是组件,组件式一个可以以图形化的方式显示在屏幕上,并能与用户进行交互的对象(按钮,标签)。
它是所有GUI组件的父类,
(2).Cannas类
代表屏幕上的一块空白矩形区域,程序能够在这个部件表面绘图,也能够捕获操作,产生相应的事件,如果自定义GUI功能的组件时,可以继承Canvas,将简化编程
(3). 菜单类
菜单由菜单条,菜单,菜单项组成
MenuBar(菜单条)、Menu(菜单)、MenuItem(菜单项)
(4).Container类是所有容器类的父类,Container.add方法用于将组件添加到容 器中
Container也是Component的子类,因此可以作为组件增加到其他容器上
Dialog与FileDialog类是Container类的子类
模态对话框与非模态对话框
Dialog类的两个构造方法
public Dialog(Frame owner,String title)非模态
public Dialog(Frame owner,String tile,boolean modal)可指定