事件处理机制。
对对象所做的一组动作称为事件。
在GUI程序运行中,通过鼠标、键盘与GUI界面直接或
间接交互都会生成事件。如: 按下一个按钮、通过键盘
输入一个字符、选择列表框中的一一项、点击一下鼠标等。
当事件发生后,系统会通知我们去处理这些事件。
对这些事件做出相应处理的程序,称为事件处理器。
事件源
事件源是产生事件的对象。
一个事件源可能会生成不同类型的事件。
事件监听器
事件监听器是在一个事件发生时被通知的
事件源是产生事件的对象。
对象,也称为事件处理器。
一个事件源可能会生成不同类型的事
监听器对象属于一个监听器类的实例,这
个类实现了一个特殊的接口,称为“监听事件监听器者接口”。
注册事件
事件源提供了组方法,用于为事件注册一个或多个监听
品对象,并向其发送事件对象。
每种不同的事件都有其自己的注册方法。一般形式为:
( Spublic voidaddkEventType>ljisteney (TypeListenere)
public void removeListener (TypeListener e)
事件源将在发生事件时向所有注册的监听器对象发送事件
对象。
总结处理事件的具体方法
确认触发的事件,取得事件类(如ActionEvent)
的名字,并删掉其中的"Event"字样,加上
"Listener"字样。这就是我们类需要实现的事件
实现上面的接口,针对想要捕获的事件编写方法
代码。如想要捕获鼠标的移动,就要为
MouseMot ionListener接口中的mouseMoved()方法
编写代码(当然还要实现其他一些方法)
按钮单击事件示例
public class MyEventTest extends
JPanel {
JButton myButton = new
JButton(“蓝色”) ;
//创建面板或其他GUI组件
MyListener
myAction = new
MyListener() ;
MyButton . addActionLis tener (myAction) ;
private class MyListener implements ActionListener {
public MyListener() {
//初始化
public void actionPerformed (ActionEvent event) {
举手连麦
. //需要为事件进行的操作
按钮单击事件示例
焦点事件
任GUI对象的获得或失去焦点都被视
为焦点事件,并且事件源必须向事件监听器通知事件对象已失去或已获得焦点。
焦点监听器需要实现两个方法:
focusGained和focusLost。
焦点事件示例
要进行错误检查或数据校验时,对焦点的
捕捉就显得尤其重要。
焦点事件示例
public void focusLost (FocusEvent event) {
if (event. getComponent() == ccField &&
!event. isTemporary() ) {!event. isTemporary() ) {
ccField . requestFocus () ;
}
}
AWT(Abstract Window Toolkit),中文译为抽象窗口工具包,该包提供了一套与本地图形界面进行交互的接口,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系,称之为peers,当利用AWT编写图形用户界面时,实际上是在利用本地操作系统所提供的图形库。由于不同 操作系统的图形库所提供的样式和功能是不一样的,在一个平台上存在的功能在另一个平台上则可能不存在。为了实现Java语言所宣称的“一次编写,到处运行(write once, run anywhere)”的概念,AWT不得不通过牺牲功能来实现平台无关性,也即AWT所提供的图形功能是各种操作系统所提供的图形功能的交集。
常用的绘图方法
绘制字符串
GUI绘图
Java提供了丰富的绘图操作,其中大部分
对图形、文本、图像的操作方法都定义在
Graphics类中,Graphics类是 java. awt包
的一部分。
Graphics类的对象表示进行绘图时的设备
环境。Graphics类封装了平台的细节信息,
使得绘图时不必考虑平台的差异,统一-绘
制图形成为可能。
Java图形坐标系统
Java的图形坐标原点(0,0)位于屏幕的左,上角,
坐标度量以象素为单位,水平向右为X轴的正方向,
竖直向下为Y轴的正方向,每个坐标点的值表示屏幕
上的一个像素点的位置,所有坐标点的值都取整数。
请求重绘方法
当图形界面需要重新显示时会调用事件处理机制。