版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【新教材】人教版(2026)九年级上册英语期中学情调研测试卷3套(含答案)
- 高中数学 加练 专题2 第5练 函数的值域
- 高中物理 加强练习第十一章 113.带电粒子在叠加场中的直线和圆周运动
- 防水材料购销合同
- 木工刀具的营销方案(3篇)
- 梁的钢筋施工方案(3篇)
- 水泥打井安装施工方案(3篇)
- 油库应急预案次生灾害(3篇)
- 环境应急预案启动分级(3篇)
- 电梯设备应急处理预案(3篇)
- DB31T 1703-2026宠物友好型商业场所安全运行管理指南
- 2025年广西卫生职业技术学院教职人员招聘笔试真题(含完整答案解析)
- 2026湖北恩施州恩施市面向市外教师选调65人考前冲刺密卷及参考答案详解(培优B卷)
- 关于项目工期的确认函7篇范本
- 天然气管线保护施工方案
- 《数据资产全过程管理业务流程操作指引(试行)》
- (2025年)注册安全工程师考试建筑施工(初级)安全生产实务试卷与参考答案
- 医疗保险理赔与欺诈防范
- 急性胆源性胰腺炎内镜下诊疗方案
- (完整版)PID常用图例符号
- 《公路通信及电力管道设计规范》(JTGT3383-01-2020)
评论
0/150
提交评论