chapter12(my--java教案)

chapter12(my--java教案)

ID:29440660

大小:1.14 MB

页数:6页

时间:2018-12-19

chapter12(my--java教案)_第1页
chapter12(my--java教案)_第2页
chapter12(my--java教案)_第3页
chapter12(my--java教案)_第4页
chapter12(my--java教案)_第5页
资源描述:

《chapter12(my--java教案)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第12章AWT事件模型本模块讨论了事件驱动的图形用户界面(GUI)的用户输入机制。第一节什么是事件什么是事件?-事件-描述发生了什么的对象-事件源-事件的产生器-事件处理器-接收事件、解释事件并处理用户交互的方法如果用户在用户界面层执行了一个动作(鼠标点击和按键),这将导致一个事件的发生。事件是描述发生了什么的对象。存在各种不同类型的事件类用来描述各种类型的用户交互。1事件源事件源是一个事件的产生者。例如,在Button组件上点击鼠标会产生以这个Button为源的一个ActionEvent.这个ActionEvent实例是一个对象,它包含关于刚才所发生的那个

2、事件的信息的对象。这些信息包括:-getActionCommand-返回与动作相关联的命令名称。-GetModifiers-返回在执行动作时持有的修饰符。2事件处理器事件处理器就是一个接收事件、解释事件并处理用户交互的方法。3委托事件模型委托事件模型是在JDK1.1中引入的。在这个模型中,事件被送往产生这个事件的组件,然而,注册一个或多个称为监听者的类取决于每一个组件,这些类包含事件处理器,用来接收和处理这个事件。采用这种方法,事件处理器可以安排在与源组件分离的对象中。监听者就是实现了Listener接口的类。事件是只向注册的监听者报告的对象。每个事件都有一

3、个对应的监听者接口,规定哪些方法必须在适合接收那种类型的事件的类中定义。实现了定义那些方法的接口的类可以注册为一个监听者。从没有注册的监听者的组件中发出的事件不会被传播。例如,这是一个只含有单个Button的简单Frame。importjava.awt.*;importjava.awt.event.*;publicclassTestButton{publicstaticvoidmain(Stringargs[]){Framef=newFrame("Test");109Buttonb=newButton("PressMe!");b.addActionListe

4、ner(newButtonHandler());//ButtonHandler类是一个处理器类,//事件将被委托给这个类。f.add(b,"Center");f.pack();f.setVisible(true);}}publicclassButtonHandlerimplementsActionListener{publicvoidactionPerformed(ActionEvente){System.out.println("Actionoccurred");}}这两个范例的特征如下:-Button类有一个addActionListner(Action

5、Listener)方法。-AddActionListner接口定义了一个方法actionPerformed,用来接收一个ActionEvent。-创建一个Button对象时,这个对象可以通过使用addActionListener方法注册为ActionEvents的监听者。调用这个方法时带有一个实现了ActionListener接口的类的参数。委托模型(JDK1.1或更高版本)-在Button对象上用鼠标进行点击时,将发送一个ActionEvent事件。这个ActionEvent事件会被使用addActionListener()方法进行注册的所有ActionL

6、istener的actionPerformed()方法接收。-ActionEvent类的getActionCommand()方法返回与动作相关联的命令名称。以按钮的点击动作为例,将返回Button的标签。这种方法有若干优点:-事件不会被意外地处理。在层次模型中,一个事件可能传播到容器,并在非预期的层次被处理。-有可能创建并使用适配器(adapter)类对事件动作进行分类。-委托模型有利于把工作分布到各个类中。-新的事件模型提供对JavaBeans的支持。这种方法也有一个缺点:-尽管当前的JDK支持委托模型和JDK1.0事件模型,但不能混合使用JDK1.0和J

7、DK1.1。第二节图形用户界面的行为1事件类型我们已经介绍了在单一类型事件上下文中从组件接收事件的通用机制。事件类的层次结构图如下所示。许多事件类在java.awt.event包中,也有一些事件类在API的其他地方。109对于每类事件,都有一个接口,这个接口必须由想接收这个事件的类的对象实现。这个接口还要求定义一个或多个方法。当发生特定的事件时,就会调用这些方法。表9-1列出了这些(事件)类型,并给出了每个类型对应的接口名称,以及所要求定义的方法。这些方法的名称是易于记忆的,名称表示了会引起这个方法被调用的源或条件。表9-1方法类型和接口2复杂的范例本节将考

8、察一个更复杂的Java软件范例。它将跟踪鼠标被按下时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。