欢迎来到天天文库
浏览记录
ID:9140121
大小:124.53 KB
页数:20页
时间:2018-04-19
《实验四java事件处理(汽院含答案)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验四java事件处理(汽院含答案)实验四java事件处理实验目的1.掌握java语言屮的事件处理方法2.掌握java语言中事件源、监视器和处理事件的接口的概念实验导读1.Java事件处理简介学习组件除了了解组件的属性和功能外,学习组件除了了解组件的属性和功能外,一个更重要的方面是学习怎样处理组件上发生的界面事件。当用户在文本框中输入文本后按Enter键、单击按钮、在一个下拉列表框中选择一个条目等操作时,都发生界面事件。在学习处理事件时,必须很好地掌握事件源、监视器、处理事件的接口这三个概念。?事件源:能够
2、产生事件的对象都可以成为事件源,如文本框、按钮、下拉式列表等。也就是说,事件源必须是一个对象,而且这个对象必须是java认为能够发生事件的对象。?监视器:需要一个对象对事件源进行监视,以便对发生的事件作出处理。事件源通过调用相应的方法将某个对象作为自己的监视器。例如,对于文本框,这个力*法是:addActionListener(监视器);对于获取了监视器的文本框,当文本框获得输入焦点之后,如果用户按Enter键,java运行系统就自动用ActionEvent类创建一个对象,即发生致事件的发生,并通知监视器,
3、监视器就会做出相应的处理。?处理事件的接门:监视器负责处理事件源发生的事件。监视器是一个对象,为了让监视器这个对象能对事件源发生的事件进行处理,创建该监视器对象的类必须声明实现相应的接口,即必须在类体屮给出该接门屮所有方法的方法体,那么当事件源发生事件时,监视器就自动调用类实现的某个接口中的方法。1.文木框上的ActionEvent事件java.awt.event包中提供了许多事件类和处理各种事件的接口。对于文本框,这个接口的名字是ActionListener,这个接口中只有一个方法:publicvoida
4、ctionPerformed(ActionEvente)当在文本框中输入字符并按Enter键时,java.awt.event包中的ActionEvent•笑自动创建一个事件对象,并将它传递给actionPerformed(ActionEvente>方法中的参数e,监视器自动调用这个方法对发生的事件做出处理。所以,称文本框这个事件源可以发生ActionEvent类型事件。为了能监视到这种类型的事件,事件源必须使用addActionListener方法获得监视器;创建监视器的类必须实现接口ActionListe
5、nero只要学会了处理文木框这个组件上的事件,其他事件源上的事件的处理也就很容易学会,所不同的是事件源能发生的事件类型不同,所使用的接口不同而己。ActionEvent类有如下常用的方法:?publicObjectgetSource()ActionEvent对象调用该方法可以获取发生ActionEvent事件的事件源对象的引用,即getSourceO方法将事件源上转型为Object对象,并返回这个上转型对象的引用。?publicStringgetActionCommand()ActionEvent对象调用该
6、方法可以获取发生ActionEvent事件时,和该事件相关的一个命令字符串,对于文本框,当发生ActionEvent事件时,文本框中的文本字符串就是和该事件相关的一个命令字符申。1.选择框和下拉列表上的ItemEvent事件选择框从未选中状态变成选中状态或从选中状态变成未选中状态时、下拉列表选项列表屮选屮某个选项时就发生ItemEvent事件,即ItemEvent类自动创建一个事件对象。发生ItemEvent事件的事件源获得监视器的方法是addltemListener(监视器)。处理ItemEvent事件的
7、接口是ItemListener,创建监视器的类必须实现ItemListener接口,该接口中只有一个方法。当选择框发生ItemEvent事件时,监视器将自动调用接U方法:itemStateChanged(ltemEvente)对发生的事件进行处理。2.鼠标事件任何组件上都可以发生缺标事件,如:就标进入组件、退出组件、在组件上方单击鼠标、拖动鼠标等都触发组件发生鼠标事件,也就是说,组件可以成为发生鼠标事件的事件源。(1)在事件源上按下鼠标键。(2)在事件源上释放鼠标键。(3)在事件源上击鼠标键。(4)鼠标进入
8、事件源。(5)鼠标退出事件源。鼠标事件的类型是MouseEvent,即当发生鼠标事件时,MouseEvent类自动创建一个事件对象。MouseListener接口中的方法:(1)mousePressed(MouseEvent)负责处理在组件上按下鼠标触发的鼠标事件,当在组件上按下鼠标时,监视器将自动调用接口屮的这个方法对事件作出处理。(2)mouseReleased(MouseEvent)负责处理在组件.卜*释放
此文档下载收益归作者所有