ch14---事件驱动编程.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

监听器、注册以及处理事件源对象触发一个事件,对此事件感兴趣的对象就会处理它,将对此事件感兴趣的对象成为监听器。监听器对象的类必须是相应事件监听器接口的实例,以确保监听器有处理这个事件的正确方法。监听器对象必须由源对象注册。Example:FirstVersionforControlCircle(nolisteners)Nowletusconsidertowriteaprogramthatusestwobuttonstocontrolthesizeofacircle.Example:SecondVersionforControlCircle(withlistenerforEnlarge)Nowletusconsidertowriteaprogramthatusestwobuttonstocontrolthesizeofacircle.内部类的概念一个编译单元中只能包含一个public类,如果要创建含多个public类的文件,编译器会报告错误。但Java提供了另外的机制,允许程序员在一个类的内部定义另一个类,这样定义的类称为内部类(Innerclass)。内部类,也称嵌套类。内部类可以是公有的。例如,我们可以创建如下的内部类:classOuterClass{ classInnerClass{}}在类OuterClass中又定义了一个类InnerClass,这是个内部类。包含内部类的类称为外部类或顶层类。当编译时,会生成两个字节码文件,分别是:OuterClass.class和OuterClass$InnerClass.class。内部类的名字前会加上它所属的外部类的名字。内部类通过内部类的机制可以在一个编译单元内定义多个公有类,但它是有限制的,内部类的定义仅在它所属的外部类中可见,正因为有这样的机制,可以将一些逻辑上相关的类组织在一起。例classOuterClass{ classInnerClass{} //内部类}classAnotherClass{ publicvoidamethod(){ InnerClassI=newInnerClass(); //类外不能创建Inner对象,错误 }}内部类在类AnotherClass中,不能使用InnerClass,因此不能创建InnerClass对象。而下面的代码是正确的。classOuterClass{ publicvoidamethod(){ InnerClassI=newInnerClass(); //类内可以创建Inner对象 } publicclassInnerClass{};}内部类使用示例程序内部类使用示例packagetest;publicclassOuterClass{ privateclassInterClass{ publicInterClass(){ System.out.println(InterClassCreate); } } publicOuterClass(){ InterClassic=newInterClass(); System.out.println(OuterClassCreate); } publicstaticvoidmain(String[]args){ OuterClassoc=newOuterClass(); }}匿名类在定义一个内部类时,也可以将整个类的描述包含在一个表达式范围里。这样的语句有两个含义,一是定义一个匿名类,同时创建了一个对象。程序匿名类的示例publicvoidgo(){ f=newFrame(Twolistenersexample); f.add(North,newLabel(Clickanddragthemouse)); tf=newTextField(30); f.ad

文档评论(0)

177****7891 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档