版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5G工业互联网安全架构探索
- 宝鸡市重点中学2026年物理八年级第一学期期末学业质量监测模拟试题含解析
- 2026年国家执业药师资格考试(药事管理与法规)综合能力测试题及答案
- 2026云南文山州教育体育局所属学校紧缺教师第二次招聘2人模拟试卷及完整答案详解
- 2026年乐平市商务局招聘合同制工作人员补充参考题库及答案详解(新)
- 2026西安市浐灞第二小学招聘模拟试卷(突破训练)附答案详解
- 2026年6月成都兴城投资集团有限公司成都蓉城城市管理服务有限公司校园招聘11人模拟试卷及完整答案详解【夺冠系列】
- 松原市重点中学2026-2027学年八上物理期末达标测试试题含解析
- 危废贮存库房装卸平台方案
- 2025年生物基化学品产业化路径分析
- 2026人教版一年级下册数学暑假作业每日一练
- 地下室工程监理实施细则
- 2026年八年级数学下册期末考试试卷及答案
- 2026年高考全国乙卷理科综合考试真题
- 2026广东广州市海珠区城市管理和综合执法局招聘雇员26人考试参考试题及答案解析
- 2026年宠物新品趋势白皮书-抖音电商-202605
- 2026年南平光泽县总医院招聘编外专业技术人员笔试参考题库及答案解析
- 2026零碳园区(区域)综合解决方案
- 深度融合与创新实践:中职数学与汽车维修专业的协同发展研究
- 2026广东广州市越秀区建设街招聘辅助人员1人备考题库含答案详解(模拟题)
- 输液门诊奖惩制度
评论
0/150
提交评论