JAVA GUI程序设计还用该层次结构图中所列的类_第1页
JAVA GUI程序设计还用该层次结构图中所列的类_第2页
JAVA GUI程序设计还用该层次结构图中所列的类_第3页
JAVA GUI程序设计还用该层次结构图中所列的类_第4页
JAVA GUI程序设计还用该层次结构图中所列的类_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JAVA GUIObjectDimensionFontFontMetricsColorGraphicsComponentContainerLayoutManagerPanelWindowJComponentAppletFrameJDialogJAppletJFrameDialog*1包java.awt中的类包javax.swing中的组件JPanelSwing GUI组件 组件 Jcomponent 抽象类 用户界面 容器类 盛装其他GUI组件 Jpanel不可见,可嵌套。可看作是画布 GUI辅助类 用来描述GUI组件的属性,例如图形环境、颜色、字体及大小等。 布局管理器的属性 Color类

2、Font类 Swing GUI组件的一般特性j-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

3、:String图形 Graphics类事件处理机制-委托事件处理图形界面程序(一个类)监听器类(含事件处理器)监听器对象(含事件处理器)实例化注册外部动作事件对象产生并传递事件对象接收事件对象,激活事件处理器,实现预定功能事件源(例如一个按钮)含有事件处理实例:关闭窗口图形界面程序(TestFrame)窗口监听器类MyWindowListener(含关闭窗口事件处理器)窗口监听器对象(含关闭窗口事件处理器)实例化注册单击关闭按钮事件对象 e产生并传递窗口事件对象WindowEvente接收事件对象e,激活事件处理器,实现关闭窗口功能。事件源窗口对象fr含有再论事件处理机制事件、事件监听器接口、

4、事件监听器类: 每一类事件有一个相应的事件监听器接口,该接口定义了接收和处理事件的抽象方法。实现该接口的类,就是监听器类。其对象可作为监听器对象向相应的组件注册。 事件的类名通常为:XxxEvent 对应的事件监听器接口名通常为:XxxListener 一个监听器接口定义了一种以上的抽象事件处理方法(事件处理器)。 事件监听器类实现事件监听器接口,其类名可以由我们自己取。事件监听器类需要我们自己编写。一个组件可以注册一个或多个监听器对象,事件对象只向已注册的监听器对象报告事件的发生。 事件事件监听器接口监听器接口 监听器适配器类监听器适配器类事件处理方法事件处理方法ActionEventAct

5、ionEvent ActionListenerActionListener 无无actionPerformedactionPerformedAdjustmentEAdjustmentEventventAdjustmentListeAdjustmentListenerner 无无adjustmentValueChangedadjustmentValueChangedComponentEComponentEventvent ComponentListComponentListenerener ComponentAdapterComponentAdapter componentHidden comp

6、onentHidden componentMoved componentMoved componentResized componentResized componentShowncomponentShownContainerEveContainerEventnt ContainerListenContainerListenerer ContainerAdapterContainerAdapterc o m p o n e n t A d d e dc o m p o n e n t A d d e d componentRemovedcomponentRemoved FocusEventFo

7、cusEvent FocusListenerFocusListener FocusAdapterFocusAdapter focusGainedfocusGained focusLostfocusLostItemEventItemEvent ItemListenerItemListener 无无itemStateChangeditemStateChanged 事件、接口、适配器与事件处理方法对应事件、接口、适配器与事件处理方法对应表表事件事件监听器接口监听器接口 监听器适配器类监听器适配器类事件处理方法事件处理方法KeyEventKeyListenerKeyListener KeyAdapte

8、r KeyAdapterkeyPressedkeyPressed keyReleasedkeyReleased keyTypedkeyTypedMouseEventMouseListenerMouseListener MouseAdapterMouseAdapter mouseClickedmouseClicked mouseEnteredmouseEntered mouseExitedmouseExited mousePressedmousePressed mouseReleasedmouseReleasedMouseMotionEventMouseMotionListenMouseMoti

9、onListenerer MouseMotionAdapter MouseMotionAdapterm o u s e D r a g g e dm o u s e D r a g g e d mouseMovedmouseMoved TextEventTextListenerTextListener 无无textValueChangedtextValueChangedWindowEventWindowListenerWindowListener WindowAdapterWindowAdapterwindowActivatedwindowActivated windowClosedwindo

10、wClosed windowClosingwindowClosing windowDeactivatedwindowDeactivated windowDeiconifiedwindowDeiconified windowIconifiedwindowIconified windowOpenedwindowOpened事件、接口、适配器与事件处理方法对应事件、接口、适配器与事件处理方法对应表表 内部类(Inner Class) 内部类也称为嵌套类内部类也称为嵌套类(Nested Class),是指被,是指被定义于其他类体中的类,其他类则称为定义于其他类体中的类,其他类则称为内内部类的封装类。部

11、类的封装类。 内部类分为静态内部类和非静态内部类两内部类分为静态内部类和非静态内部类两种。用种。用static修饰符修饰符声明的内部类为静态内声明的内部类为静态内部类。部类。内部类的特征(1) 内部类的类名不能与其封装类的类名相同。内部类的类名不能与其封装类的类名相同。 内部类可以不加任何限制地访问其封装类内部类可以不加任何限制地访问其封装类的所有成员要素的所有成员要素(包括包括private类型的成员、静类型的成员、静态成员及实例成员态成员及实例成员)。 非静态内部类不能在自己类体中定义非静态内部类不能在自己类体中定义static成员。成员。 静态内部类可以定义自己的静态内部类可以定义自己的

12、static成员,成员,但但不能直接访问其封装类的实例变量或实例不能直接访问其封装类的实例变量或实例方法,方法,只能直接访问其封装类的静态成员;但可以通只能直接访问其封装类的静态成员;但可以通过定义对象来引用其封装类的实例成员过定义对象来引用其封装类的实例成员。内部类的特征(2) 可以用可以用abstract关键字将内部类定义为抽象类,关键字将内部类定义为抽象类,也可以用也可以用protected或或private访问修饰符修饰内部访问修饰符修饰内部类。类。 内部类不能在其封装类的静态方法内部类不能在其封装类的静态方法(如如main方方法法)中使用。中使用。 内部类不仅可以定义在其他类中,还可

13、以定内部类不仅可以定义在其他类中,还可以定义在方法体中,甚至可以定义在语句块中。例如义在方法体中,甚至可以定义在语句块中。例如在一个成员方法中定义一个内部类,或者在在一个成员方法中定义一个内部类,或者在switch语句块中定义一个内部类,或在一个循环语句块中定义一个内部类,或在一个循环结构中定义一个内部类,都是允许的。不过这样结构中定义一个内部类,都是允许的。不过这样的内部类使用的限制更为严格。的内部类使用的限制更为严格。 public class Test8_4 extends Frame implements ActionListener static Test8_4 frm=new Te

14、st8_4(); static Button btn1=new Button(Yellow); 定义本图形用户界面要用的组件定义本图形用户界面要用的组件 static Button btn2=new Button(Green); static Button btn3=new Button(Exit); public static void main(String args) btn1.addActionListener(frm); / 委托容器类对象委托容器类对象frm监听监听btn1发出的事件发出的事件 btn2.addActionListener(frm); / 把事件监听器把事件监听器f

15、rm向向btn2注册注册 办理委托,注册监听办理委托,注册监听 btn3.addActionListener(frm); / 把事件监听器把事件监听器frm向向btn3注册注册 frm.setTitle(Action Event); frm.setLayout(new FlowLayout(FlowLayout.CENTER); frm.setSize(200,150); frm.add(btn1); frm.add(btn2); frm.add(btn3); frm.setVisible(true); public void actionPerformed(ActionEvent e) /实现接口实现接口ActionListener的抽象方法的抽象方法 Button btn=(Button)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论