版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVAGUIJAVAGUI1ObjectDimensionFontFontMetricsColorGraphicsComponentContainerLayoutManagerPanelWindowJComponentAppletFrameJDialogJAppletJFrameDialog*1包中的类包中的组件JPanelObjectDimensionFontFontMetrics2JAVA-GUI程序设计还用该层次结构图中所列的类3SwingGUI组件组件Jcomponent抽象类用户界面容器类盛装其他GUI组件Jpanel不可见,可嵌套。可看作是画布GUI辅助类用来描述GUI组件的属性,例如图形环境、颜色、字体及大小等。SwingGUI组件组件4布局管理器的属性Color类Font类SwingGUI组件的一般特性布局管理器的属性5j-visible:boolean+getWidth():int+getHeight():int+getX():int+getY():int+add(comp:Component):Component+add(comp:Component,index:int):Component+remove(comp:Component):void+getLayout():LayoutManager+setLayout(l:LayoutManager):void+paintComponents(g:Graphics):void-toolTipText:Stringj+getWidth():int+add(comp:Comp6图形Graphics类图形Graphics类7事件处理机制---委托事件处理图形界面程序(一个类)监听器类(含事件处理器)监听器对象(含事件处理器)实例化注册外部动作事件对象产生并传递事件对象接收事件对象,激活事件处理器,实现预定功能事件源(例如一个按钮)含有事件处理机制---委托事件处理图形界面程序监听器类监听器对象8事件处理实例:关闭窗口图形界面程序(TestFrame)窗口监听器类MyWindowListener(含关闭窗口事件处理器)窗口监听器对象(含关闭窗口事件处理器)实例化注册单击关闭按钮事件对象e产生并传递窗口事件对象WindowEvente接收事件对象e,激活事件处理器,实现关闭窗口功能。事件源窗口对象fr含有事件处理实例:关闭窗口图形界面程序窗口监听器类窗口监听器对象9再论事件处理机制事件、事件监听器接口、事件监听器类:每一类事件有一个相应的事件监听器接口,该接口定义了接收和处理事件的抽象方法。实现该接口的类,就是监听器类。其对象可作为监听器对象向相应的组件注册。事件的类名通常为:XxxEvent对应的事件监听器接口名通常为:XxxListener一个监听器接口定义了一种以上的抽象事件处理方法(事件处理器)。事件监听器类实现事件监听器接口,其类名可以由我们自己取。事件监听器类需要我们自己编写。一个组件可以注册一个或多个监听器对象,事件对象只向已注册的监听器对象报告事件的发生。再论事件处理机制事件、事件监听器接口、事件监听器类:10JAVA-GUI程序设计还用该层次结构图中所列的类11JAVA-GUI程序设计还用该层次结构图中所列的类12JAVA-GUI程序设计还用该层次结构图中所列的类13事件监听器接口
监听器适配器类事件处理方法ActionEvent
ActionListener
无actionPerformedAdjustmentEventAdjustmentListener
无adjustmentValueChangedComponentEvent
ComponentListener
ComponentAdapter
componentHidden
componentMoved
componentResized
componentShownContainerEvent
ContainerListener
ContainerAdaptercomponentAdded
componentRemoved
FocusEvent
FocusListener
FocusAdapter
focusGained
focusLostItemEvent
ItemListener
无itemStateChanged
事件、接口、适配器与事件处理方法对应表事件监听器接口监听器适配器类事件处理方法ActionEve14事件监听器接口
监听器适配器类事件处理方法KeyEventKeyListener
KeyAdapterkeyPressed
keyReleased
keyTypedMouseEventMouseListener
MouseAdapter
mouseClicked
mouseEntered
mouseExited
mousePressed
mouseReleasedMouseMotionEventMouseMotionListenerMouseMotionAdaptermouseDragged
mouseMoved
TextEventTextListener
无textValueChangedWindowEventWindowListener
WindowAdapterwindowActivated
windowClosed
windowClosing
windowDeactivated
windowDeiconified
windowIconified
windowOpened事件、接口、适配器与事件处理方法对应表事件监听器接口监听器适配器类事件处理方法KeyEventK15JAVA-GUI程序设计还用该层次结构图中所列的类16JAVA-GUI程序设计还用该层次结构图中所列的类17内部类(InnerClass)内部类也称为嵌套类(NestedClass),是指被定义于其他类体中的类,其他类则称为`内部类的封装类。内部类分为静态内部类和非静态内部类两种。用static修饰符声明的内部类为静态内部类。内部类(InnerClass)内部类也称为嵌套类(Nest18内部类的特征(1)①内部类的类名不能与其封装类的类名相同。②内部类可以不加任何限制地访问其封装类的所有成员要素(包括private类型的成员、静态成员及实例成员)。③非静态内部类不能在自己类体中定义static成员。④静态内部类可以定义自己的static成员,但不能直接访问其封装类的实例变量或实例方法,只能直接访问其封装类的静态成员;但可以通过定义对象来引用其封装类的实例成员。内部类的特征(1)19内部类的特征(2)⑤可以用abstract关键字将内部类定义为抽象类,也可以用protected或private访问修饰符修饰内部类。⑹内部类不能在其封装类的静态方法(如main方法)中使用。⑺内部类不仅可以定义在其他类中,还可以定义在方法体中,甚至可以定义在语句块中。例如在一个成员方法中定义一个内部类,或者在switch语句块中定义一个内部类,或在一个循环结构中定义一个内部类,都是允许的。不过这样的内部类使用的限制更为严格。
内部类的特征(2)⑤可以用abstract关键字将内部类定20importjava.awt.*;importjava.awt.event.*;publicclassTest8_4extendsFrameimplementsActionListener{staticTest8_4frm=newTest8_4();staticButtonbtn1=newButton("Yellow");定义本图形用户界面要用的组件staticButtonbtn2=newButton("Green");staticButtonbtn3=newButton("Exit");publicstaticvoidmain(Stringargs[]){btn1.addActionListener(frm);//委托容器类对象frm监听btn1发出的事件
btn2.addActionListener(frm);//把事件监听器frm向btn2注册
办理委托,注册监听btn3.addActionListener(frm);//把事件监听器frm向btn3注册frm.setTitle("ActionEvent");frm.setLayout(newFlowLayout(FlowLayout.CENTER));frm.setSize(200,150);frm.add(btn1);frm.add(btn2);frm.add(btn3);frm.setVisible(true);}publicvoidactionPerformed(ActionEvente)//实现接口ActionListener的抽象方法{Buttonbtn=(Button)e.getSource();//取得事件源if(btn==btn1)//如果是按下btn1按钮
frm.setBackground(Color.yellow);根据题目要求编写语句,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度知识产权战略咨询合同
- 楼道电费合同范本
- 2024年度食品加工厂卫生检验合同
- 2024年度:个人借款合同含利息计算
- 2024年度教育培训机构服务担保合同
- 2024年度橱柜定制与技术支持合同
- 能源转型与油气产业监管
- 二零二四年度卫星导航与位置服务合作合同
- 多模态表视图融合
- 电器切割机采购合同范本
- 2024中国电子科技集团限公司在招企业校招+社招高频难、易错点500题模拟试题附带答案详解
- 新能源汽车运输合作协议
- 副校长试用期转正工作总结(5篇)
- 2024年玻璃钢通信管道项目可行性研究报告
- 《旅游大数据》-课程教学大纲
- 2024版细胞治疗技术服务合同
- 形势与政策24秋-专题测验1-5-国开-参考资料
- 2024年新人教版七年级上册历史 第14课 丝绸之路的开通与经营西域
- 2024年小学闽教版全册英语词汇表
- 统编版(2024)一年级语文上册识字6《日月明》精美课件
- 2024年初级社会体育指导员(游泳)技能鉴定考试题库(含答案)
评论
0/150
提交评论