《Java桌面程序开发第3章-事件处理机制.ppt》由会员分享,可在线阅读,更多相关《Java桌面程序开发第3章-事件处理机制.ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、大连理工大学出版社大连理工大学出版社 Java桌面程序开发桌面程序开发 目目 录录第1章认识Java桌面程序第2章开发第一个Java桌面程序第3章事件处理机制第4章容器与布局第5章使用Swing常用组件第6章使用Swing高级组件第7章连上DB的Java桌面程序第8章 Java桌面程序实例:联系人管理第第3章章 事件处理机制事件处理机制教学要求 1理解:事件源、事件、事件监听器的概念,授权事件及处理机制,适配器类 2掌握:为GUI添加事件处理的一般过程,编写事件监听器类的多种方式,为组件注册事件监听器对象3.1让让GUI动起来的关键:事件处理机制动起来的关键:事件处理机制初始界面点击按钮后p点
2、击按钮之后程序能不能动的关键是这段代码:/点击按钮程序有所反应的关键:为按钮注册事件监听器btn.addActionListener(newActionListener()/点击按钮后程序的响应代码在这里publicvoidactionPerformed(ActionEventarg0)msg.setText(点按钮是有作用的哟!););授权事件模型进行事件处理三步骤授权事件模型进行事件处理三步骤第一、确定事件源Event Source和事件Event,即什么 组件与用户发生了交互事件,发生在事件源上的事件是什么,如被点击的按钮是事件源,按钮被点击的事件叫做动作事件ActionEvent。第二
3、、实现进行事件处理的事件监听器Event Listener,主要是编写事件的处理代码。第三、将事件监听器注册给事件源,这样关联之后才能使得事件发生后能执行相应的处理代码。Java桌面程序事件处理的过程桌面程序事件处理的过程p在开发Java桌面程序时,需要关心的是对什么组件监听什么事件,编写事件监听器类,并将监听器类的对象注册给被监听的组件。pJava的事件类和监听器接口大多在java.awt.event包中,一些Swing组件所特有的事件监听器接口则在javax.swing.event中声明。事件类事件类事件类及其对应监听器接口事件类及其对应监听器接口事件类事件类监听器接口监听器接口描述描述A
4、ctionEventActionListener监听动作事件的监听者接口监听动作事件的监听者接口AdjustmentEventAdjustmentListener监听调整事件的监听者接口监听调整事件的监听者接口ComponentEventComponentListener监听组件事件的监听者接口监听组件事件的监听者接口ContainerEventContainerListener监听容器事件的监听者接口监听容器事件的监听者接口FocusEventFocusListener监听组件上的焦点事件的监听者接口监听组件上的焦点事件的监听者接口ItemEventItemListener监听选项事件的监听
5、者接口监听选项事件的监听者接口KeyEventKeyListener监听键盘事件的监听者接口监听键盘事件的监听者接口MouseEventMouseListener监听组件上的鼠标事件的监听者接口监听组件上的鼠标事件的监听者接口MouseMotionListener监听组件上的鼠标移动事件的监听者接口监听组件上的鼠标移动事件的监听者接口TextEventTextListener监听文本组件事件的监听者接口监听文本组件事件的监听者接口WindowEventWindowListener监听窗口事件的监听者接口监听窗口事件的监听者接口3.2案例:处理按钮点击事件案例:处理按钮点击事件收集学生信息学生信
6、息回显重置后 使用文本框收集用户输入的学生信息,点击“确定”按钮后将学生信息回显到界面右侧空白区域,点击“重置”按钮将同时清空文本框填入的信息和右侧的回显信息。3.2.1 定义事件监听器类定义事件监听器类1、确定需要监听的事件源及事件,此处显然是“确定”和“重置”按钮上的按钮点击事件ActionEvent事件。2、编写事件监听器类,方式有多种,本节介绍常用的一种方式:界面与事件处理使用同一个类。3、将事件监听器类的对象注册给事件源,在这里就是给2个按钮注册事件监听器了。按钮点击事件ActionEvent对应的事件监听器接口为ActionListener,此接口中只包含一个方法:public v
7、oid actionPerformed(ActionEvent e)3.2.2 为按钮注册事件监听器为按钮注册事件监听器p“确定”按钮注册监听器:b_ok.addActionListener(this);p“重置”按钮注册监听器:b_reset.addActionListener(this);3.2.3 使用内部类实现事件监听器类使用内部类实现事件监听器类输入运算数做加法做除法3.2.4 使用适配器类使用适配器类监听器接口监听器接口适配器类适配器类FocusListenerFocusAdapterKeyListenerKeyAdapterMouseListenerMouseAdapterMou
8、seMotionListenerMouseMotionAdapterWindowListenerWindowAdapter这些已经实现了监听器接口的适配器类,在编写自己的监听器类时就可以改用继承适配器类的方式了,这样一来,我们只需要重写必要的方法就可以了,而不需要把不必要的方法也都实现要点提醒要点提醒pJava事件处理机制是让图形用户界面能响应用户的交互动作的关键。p以按钮为例,用户点击按钮之后程序要做出相应,应按照如下的步骤实现按钮的事件处理:1、编写监听按钮点击事件(即ActionEvent事件)的监听器类,监听器类实现该事件对应的监听器接口即可。监听器类可以采用本类实现方式,匿名内部类方
9、式,普通内部类方式等多种编码方式。2、将监听器类的对象注册给按钮。这一步非常重要,如果没有进行注册则点击按钮将不会调用事件处理代码。p其它事件类型及其处理过程都可以参考此步骤进行。实训任务实训任务实训3-1编写桌面程序,显示2个数中的较大者。要求界面上提供2个文本框用于接收输入,一个确定按钮、一个重置按钮,一个显示结果的标签。在文本框中输入数据并点击确定按钮之后,标签显示2数中较大的数;若输入过程中输入了非数字符号,标签要显示提示信息“请输入数字”;若点击了重置按钮,则将文本框和标签都清空。实训3-2编写桌面程序,实现一个能比例3-3收集更多学生信息的程序,需要收集的信息可自行指定。实训3-3将例3-5的四则运算程序进行改写,要求+、-、*、/按钮的事件处理代码改用匿名内部类实现,直接注册到各个按钮上。实训3-4编写程序,实现利用按钮控制窗体背景颜色的变换,并同时控制当鼠标移入和移出按钮区域的时候修改按钮上的文字。