ch12_AWT-事件处理模型课件_第1页
ch12_AWT-事件处理模型课件_第2页
ch12_AWT-事件处理模型课件_第3页
ch12_AWT-事件处理模型课件_第4页
ch12_AWT-事件处理模型课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AWT 事件处理模型什么叫事件Event事件,就是发生在用户界面上的用户交互行为所产生的一种效果。Event Source产生事件的对象。Event handler接收事件对象并对其进行处理的方法。事件处理模型Hierachical model(JDK 1.0)事件传递机制。Delegation model(JDK 1.1, 1.2)授权处理机制。Delegation Model将事件源对象和事件处理器(事件监听器)分开。import java.awt.*;import java.awt.event.*;public class TestButton public static void ma

2、in(String args)Frame f = new Frame(Test);Button b = new Button(Press Me!);b.addActionListener(new ButtonHandler();f.setLayout(new FlowLayout();f.add(b);f.setSize(200,100);f.setVisible(true); class ButtonHandler implements ActionListener public void actionPerformed(ActionEvent e)System.out.println(Ac

3、tion occurred);使用JDK1.1授权处理模型进行事件处理的一般方法:对于某种类型的事件XXXEvent,要想接收并处理这类事件,必须定义相应的事件监听器类,该类需要实现针对特定事件的特定接口XXXListener;事件源中产生事件后,必须注册相应于该类事件的监听器,使用addXXXListener(XXXListener )方法来注册监听器。java.util.EventObject类EventObject类是所有事件对象的基础类,所有的事件类都是由它派生出来的。public class EventObject implements java.io.Serializable pr

4、otected transient Object source; public EventObject(Object source); public Object getSource(); public String toString();java.awt.AWTEvent和AWT有关的所有事件类都由java.awt.AWTEvent类派生 ,AWT事件共有10类,可以归为两大类:低级事件和高级事件。低级事件ComponentEvent(组件事件:组件尺寸的变化,移动)ContainerEvent(容器事件:组件增加,移动)WindowEvent(窗口事件:关闭窗口,窗口闭合,图标化)Focu

5、sEvent(焦点事件:焦点的获得和丢失)KeyEvent(键盘事件:键按下、释放)MouseEvent(鼠标事件:鼠标单击,移动)高级事件(语义事件)ActionEvent(动作事件:按钮按下,TextField中按Enter键)AdjustmentEvent(调节事件:在滚动条上移动滑块以调节数值)ItemEvent(项目事件:选择项目,不选择项目)TextEvent(文本事件,文本对象改变)AWT事件及其相应的监听器接口ActionEvent激活组件ActionListeneractionPerformed(ActionEvent)ItemEvent选择了某些项目ItemListener

6、itemStateChanged(ItemEvent)MouseEvent鼠标移动MouseMotionListenermouseDragged(MouseEvent)mouseMoved(MouseEvent)MouseEvent鼠标点击等MouseListenermousePressed(MouseEvent) mouseReleased(MouseEvent) mouseEntered(MouseEvent) mouseExited(MouseEvent) mouseClicked(MouseEvent)KeyEvent键盘输入KeyListenerkeyPressed(KeyEvent

7、) keyReleased(KeyEvent) keyTyped(KeyEvent)FocusEvent组件收到或失去焦点FocusListenerfocusGained(FocusEvent)focusLost(focusEvent)AdjustementEvent移动了滚动条等组件AdjustmentListeneradjustmentValueChanged(AdjustmentEvent)ComponentEvent对象移动缩放显示隐藏等ComponentListenercomponentMoved(ComponentEvent)componentHidden(ComponentEve

8、nt)componentResized(ComponentEvent)componentShown(ComponentEvent)WindowEvent窗口收到窗口级事件WindowListenerwindowClosing(WindowEvent)windowOpened(WindowEvent)windowIconified(WindowEvent)windowDeiconified(WindowEvent)windowClosed(WindowEvent)windowActivated(WindowEvent)windowDeactivated(WindowEvent)Container

9、Event容器中增加删除了组件ContainerListenercomponentAdded(containerEvent)componentRemoved(containerEvent)TextEvent文本字段或文本区发生改变TextListenertextValueChanged(TextEvent)事件处理举例import java.awt.*;import java.awt.event.*;public class TwoListen implementsMouseMotionListener,MouseListener,WindowListener private Frame f;

10、private TextField tf;public static void main(String args)TwoListen two = new TwoListen();two.go();public void go() f = new Frame(Two listeners example);f.add(new Label(Click and drag the mouse),North);tf = new TextField(30);f.add(tf,South);f.addMouseMotionListener(this);f.addMouseListener(this);f.ad

11、dWindowListener(this);f.setSize(300,200);f.setVisible(true);public void mouseDragged (MouseEvent e) String s = Mouse dragging : X=+e.getX()+Y = +e.getY();tf.setText(s); public void mouseMoved(MouseEvent e)public void mouseClicked(MouseEvent e)public void mouseEntered(MouseEvent e)String s = The mous

12、e entered;tf.setText(s); public void mouseExited(MouseEvent e)String s = The mouse has left the building;tf.setText(s);public void mousePressed(MouseEvent e)public void mouseReleased(MouseEvent e)public void windowClosing(WindowEvent e) System.exit(1);public void windowOpened(WindowEvent e) public void windowIconified(WindowEvent e) public void windowDeiconified(WindowEvent e) public void windowClosed(WindowEvent e) public void windowActivated(WindowEvent e) public void wind

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论