您现在的位置:学赛首页 > 计算机等级考试 > 复习资料 > 正文
二级Java重点难点分析:编写图形用户界面[8]
http://www.educity.cn 作者:希赛IT教育研发中心 来源:希赛网 2007年7月10日 发表评论 进入社区
    小技巧:“Card”就是牌的意思,因此CardLayout就是牌式布局,就像是一副叠得整整齐齐的扑克牌一样。

  11.1.6  考点6:AWT事件处理
  1.授权处理模型
  应用程序界面设计好之后,更重要的是应用程序能够响应用户的操作,Java通过授权处理机制来进行事件处理,授权处理机制如图11-5所示。在Java的事件处理过程中,主要存在下述3类对象。

  ① 事件——用户应用程序界面中执行的操作。Java通过类的形式来对不同事件进行描述,如键盘操作对应的事件类为KeyEvent,按钮的单击对应的事件类为ActionEvent。
  ② 事件源——事件产生的场所。通常就是各个组件,如按钮单击的事件源就是Button。
  ③ 事件处理者——接收事件对象并对其进行处理。Java通过提供各种接口实现对不同事件的处理,如可以通过实现ActionListener接口实现对按钮的单击事件处理。
例如在一个应用程序登录界面中,用户用鼠标单击登录按钮btnLogin,则该按钮就是事件源,单击就是在该事件源上产生的事件ActionEvent,通过实现ActionListener接口,Java运行时系统就会生成ActionEvent类的对象actionE,在actionPerformed()方法中进行处理。
同一个事件源可能发生多种事件,Java通过授权处理机制,将事件源上发生的不同事件授权给不同的事件处理者来进行处理。
  例如画布对象Canvas既可能发生鼠标事件,也可能发生键盘事件,该Canvas对象就可以授权给事件处理者1(实现KeyListener)处理键盘事件,同时授权给事件处理者2(实现MouseListener)处理鼠标事件。

  2.事件类型及事件监听器
  与AWT有关的事件类都由java.awt.AWTEvent类派生,这些AWT事件分为两大类:低级事件和高级事件。低级事件是指基于组件和容器的事件,高级事件是基于语义的事件。
  ① 低级事件
  ComponentEvent——组件事件,组件尺寸的变化和移动。
  ContainerEvent——容器事件,组件增加和移动。
  WindowEvent——窗口事件,关闭窗口、窗口活动和图标化。
  FucousEvent——焦点事件,焦点的获得和丢失。
  KeyEvent——键盘事件,键盘的按下和释放。
  MouseEvent——鼠标事件,鼠标单击和移动。
  ② 高级事件
  ActionEvent——动作事件,按钮按下、TextField中按下Enter键。
  AdjustmentEvent——调节事件,在滚动条上移动滑块和调节数值。
  ItemEvent——项目事件,选择列表框中项目。
  TextEvent——文本事件,文本对象发生改变。
  Java中的每类事件都有对应的事件监听器(接口),在进行事件处理时,需要实现对应的接口,即将接口中的所有方法重写。
  授权与取消授权是通过注册和注销监听器来实现的:
  ① 注册监听器
  public void add<XXXListener> //XXX是与事件相关的
  ② 注销监听器
  public void remove<XXXListener>
  例如:对于Button的单击事件可以通过addActionListener注册监听器,通过  removeActionListener注销监听器。

  3.AWT事件及其相应的监听器接口
  为了能够更好地进行事件处理,必须了解Java中的事件类型以及对不同事件进行处理的接口名,最重要的是要掌握各种接口中响应对应事件的方法名称。因为在编写事件时处理者需要实现事件对应的接口,也就是要重写接口中的每一个方法,以便对组件上产生的不同事件进行处理。AWT事件类型及其相应的监听器接口见表11-1。
  例如在一个窗口上可能发生关闭事件,也可能发生最小化事件。要对窗口事件进行处理,事件处理者必须实现WindowListener接口;而为了响应关闭事件,则需要在windowClosed()方法中添加处理代码;为了响应最小化事件,则需要在windowIconfied()方法中添加处理代码。
  本章节内容来自希赛全国计算机等级考试用书《计算机等级考试考点分析、题解与模拟——二级Java语言》。(购书请见 :http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10032470

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]