欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java课件第六章图形界面设计.ppt

    • 资源ID:70793518       资源大小:2.09MB        全文页数:154页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java课件第六章图形界面设计.ppt

    16.16.1创建图形界面创建图形界面创建图形界面创建图形界面第第六六章章 图形界面设计图形界面设计6.46.4菜单组件菜单组件菜单组件菜单组件6.2AWT6.2AWT的事件模型的事件模型的事件模型的事件模型6.3AWT6.3AWT常用组件常用组件常用组件常用组件6.56.5图形设计图形设计图形设计图形设计2容器容器容器容器界面的构成界面的构成vv创建创建创建创建GUIGUI各组成成分,并安排从属各组成成分,并安排从属各组成成分,并安排从属各组成成分,并安排从属 位置关系(包含,相邻,相交)位置关系(包含,相邻,相交)位置关系(包含,相邻,相交)位置关系(包含,相邻,相交)vv定义定义定义定义GUIGUI各成分对不同事件的响应,各成分对不同事件的响应,各成分对不同事件的响应,各成分对不同事件的响应,实现与用户的交互与界面功能实现与用户的交互与界面功能实现与用户的交互与界面功能实现与用户的交互与界面功能标准组件标准组件标准组件标准组件用户自定用户自定用户自定用户自定义成分义成分义成分义成分3界面元素界面元素v容器容器是用来组织其他界面成分和元素的单元。是用来组织其他界面成分和元素的单元。是用来组织其他界面成分和元素的单元。是用来组织其他界面成分和元素的单元。vv可以形成容器的层次,构筑复杂结构可以形成容器的层次,构筑复杂结构可以形成容器的层次,构筑复杂结构可以形成容器的层次,构筑复杂结构vvWindowWindow(FrameFrame、AppletApplet、DialogDialog)v组组件件是是是是图图图图形形形形用用用用户户户户界界界界面面面面的的的的基基基基本本本本单单单单位位位位,它它它它里里里里面面面面不不不不再再再再包含其他的成分。包含其他的成分。包含其他的成分。包含其他的成分。vvGUIGUI组件是图形用户界面标准化的结果。组件是图形用户界面标准化的结果。组件是图形用户界面标准化的结果。组件是图形用户界面标准化的结果。vvGUIGUI组件的作用是完成与用户的交互。组件的作用是完成与用户的交互。组件的作用是完成与用户的交互。组件的作用是完成与用户的交互。6 6.1 .1 创建图形界面创建图形界面4v用户自定义成分用户自定义成分vv文字、图形、图象文字、图形、图象文字、图形、图象文字、图形、图象vv不能像标准组件一样被系统识别和承认,不能像标准组件一样被系统识别和承认,不能像标准组件一样被系统识别和承认,不能像标准组件一样被系统识别和承认,只起装饰作用。只起装饰作用。只起装饰作用。只起装饰作用。vv不能响应用户的动作,不具有交互功能。不能响应用户的动作,不具有交互功能。不能响应用户的动作,不具有交互功能。不能响应用户的动作,不具有交互功能。6 6.1 .1 创建图形界面创建图形界面界面元素界面元素5抽象窗口工具抽象窗口工具-AWTvAbstractWindowsToolkit(抽象窗口工具)(抽象窗口工具)AWTAWT类库中的各种操作被定义成在一个并不存在的类库中的各种操作被定义成在一个并不存在的类库中的各种操作被定义成在一个并不存在的类库中的各种操作被定义成在一个并不存在的“抽象窗口抽象窗口抽象窗口抽象窗口”中进行的。中进行的。中进行的。中进行的。抽取不同软硬件平台中所实现的窗口的公共特性。抽取不同软硬件平台中所实现的窗口的公共特性。抽取不同软硬件平台中所实现的窗口的公共特性。抽取不同软硬件平台中所实现的窗口的公共特性。所设计的界面独立于具体的界面实现所设计的界面独立于具体的界面实现所设计的界面独立于具体的界面实现所设计的界面独立于具体的界面实现。v提供与机器无关的基本提供与机器无关的基本GUI标准组件。标准组件。选择类组件:选择类组件:选择类组件:选择类组件:单选按钮、复选框、下拉选单、列表框单选按钮、复选框、下拉选单、列表框单选按钮、复选框、下拉选单、列表框单选按钮、复选框、下拉选单、列表框文字处理类组件:文字处理类组件:文字处理类组件:文字处理类组件:标签、文本框、编辑框。标签、文本框、编辑框。标签、文本框、编辑框。标签、文本框、编辑框。命令类组件:命令类组件:命令类组件:命令类组件:按钮、工具栏、菜单等。按钮、工具栏、菜单等。按钮、工具栏、菜单等。按钮、工具栏、菜单等。6 6 6.1 .1 创建图形界面创建图形界面vFramevPanelvApplet常用容器常用容器7|Frame8importjava.awt.*;importjava.awt.*;classMyFrameclassMyFramepublicstaticvoidmain(Stringargs)publicstaticvoidmain(Stringargs)Framef=newFrame(myframe);Framef=newFrame(myframe);f.setSize(600,400);f.setSize(600,400);f.setLocation(100,100);f.setLocation(100,100);f.setBackground(Color.blue);f.setBackground(Color.blue);Buttonbtn=newButton(ButtonTest);Buttonbtn=newButton(ButtonTest);f.add(btn);f.add(btn);f.show();f.show();Casestudy:Casestudy:MyFrame.javaMyFrame.java9Casestudy:Casestudy:MyFrame.javaMyFrame.java10Panel|11Casestudy:Casestudy:MyFrame1.javaMyFrame1.java12LayoutManager(布局管理器)(布局管理器)v为了使我们生成的图形用户界面具有良好的平台为了使我们生成的图形用户界面具有良好的平台为了使我们生成的图形用户界面具有良好的平台为了使我们生成的图形用户界面具有良好的平台 无关性,无关性,无关性,无关性,JavaJava语言中,提供了布局管理器这个工具语言中,提供了布局管理器这个工具语言中,提供了布局管理器这个工具语言中,提供了布局管理器这个工具 来管理组件在容器中的布局,而不使用直接设置组来管理组件在容器中的布局,而不使用直接设置组来管理组件在容器中的布局,而不使用直接设置组来管理组件在容器中的布局,而不使用直接设置组 件位置和大小的方式。件位置和大小的方式。件位置和大小的方式。件位置和大小的方式。v每个容器都有一个布局管理器,当容器需要对某每个容器都有一个布局管理器,当容器需要对某每个容器都有一个布局管理器,当容器需要对某每个容器都有一个布局管理器,当容器需要对某 个组件进行定位或判断其大小尺寸时,就会调用其个组件进行定位或判断其大小尺寸时,就会调用其个组件进行定位或判断其大小尺寸时,就会调用其个组件进行定位或判断其大小尺寸时,就会调用其 对应的布局管理器。对应的布局管理器。对应的布局管理器。对应的布局管理器。6 6.1 .1 创建图形界面创建图形界面13LayoutManagerFlowLayoutFlowLayout 是是是是PanelPanel的的的的缺省布局管理器缺省布局管理器缺省布局管理器缺省布局管理器将组件逐个地放在容器的一行上,当一行放满后重起将组件逐个地放在容器的一行上,当一行放满后重起将组件逐个地放在容器的一行上,当一行放满后重起将组件逐个地放在容器的一行上,当一行放满后重起一行。一行。一行。一行。BorderLayoutBorderLayout(FrameFrame和和和和DialogDialog两种容器的默认布局两种容器的默认布局两种容器的默认布局两种容器的默认布局管理器,区域的默认值是管理器,区域的默认值是管理器,区域的默认值是管理器,区域的默认值是CenterCenter)容器被划分为容器被划分为容器被划分为容器被划分为5 5个区域:个区域:个区域:个区域:EastEast、SouthSouth、WestWest、NorthNorth、CenterCenter。GridLayoutGridLayout 网格式布局网格式布局网格式布局网格式布局CardLayoutCardLayout 卡片式布局卡片式布局卡片式布局卡片式布局GridBagLayoutGridBagLayout 网格包布局网格包布局网格包布局网格包布局 6 6.1 .1 创建图形界面创建图形界面14LayoutManager(布局管理器)(布局管理器)6 6.1 .1 创建图形界面创建图形界面v在程序中安排组件的位置和大小时,应该注意:在程序中安排组件的位置和大小时,应该注意:在程序中安排组件的位置和大小时,应该注意:在程序中安排组件的位置和大小时,应该注意:vv容器中的布局管理器负责各个组件的大小和位置,容器中的布局管理器负责各个组件的大小和位置,容器中的布局管理器负责各个组件的大小和位置,容器中的布局管理器负责各个组件的大小和位置,因此用户无法在这种情况下设置组件的这些属性。因此用户无法在这种情况下设置组件的这些属性。因此用户无法在这种情况下设置组件的这些属性。因此用户无法在这种情况下设置组件的这些属性。如果试图使用如果试图使用如果试图使用如果试图使用JavaJava语言提供的语言提供的语言提供的语言提供的setLocation()setLocation(),setSizesetSize()(),setBounds()setBounds()等方法,则都会被布局管理器覆盖。等方法,则都会被布局管理器覆盖。等方法,则都会被布局管理器覆盖。等方法,则都会被布局管理器覆盖。vv如果用户确实需要亲自设置组件大小或位置,则如果用户确实需要亲自设置组件大小或位置,则如果用户确实需要亲自设置组件大小或位置,则如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:应取消该容器的布局管理器,方法为:应取消该容器的布局管理器,方法为:应取消该容器的布局管理器,方法为:setLayout(null)setLayout(null);15Casestudy:Casestudy:MyLayout.javaMyLayout.java16BorderLayoutvWindow,Frame和和Dialog的缺省布的缺省布局管理器。局管理器。BorderLayout布局管理器布局管理器包括包括5个区域:个区域:North,South,East,West和和Center。6 6.1 .1 创建图形界面创建图形界面17Casestudy:Casestudy:MyLayout1.javaMyLayout1.java1819GridLayoutCasestudy:Casestudy:MyLayout2.javaMyLayout2.java20vFrameFrameFrame是一个顶级窗口。是一个顶级窗口。是一个顶级窗口。是一个顶级窗口。FrameFrame的缺省布局管理器为的缺省布局管理器为的缺省布局管理器为的缺省布局管理器为BorderLayoutBorderLayout。vPanelPanelPanel无法单独显示,必须添加到某个容器中。无法单独显示,必须添加到某个容器中。无法单独显示,必须添加到某个容器中。无法单独显示,必须添加到某个容器中。PanelPanel的缺省布局管理器为的缺省布局管理器为的缺省布局管理器为的缺省布局管理器为FlowLayoutFlowLayout。当把当把当把当把PanelPanel作为一个组件添加到某个容器中后,作为一个组件添加到某个容器中后,作为一个组件添加到某个容器中后,作为一个组件添加到某个容器中后,该该该该PanelPanel仍然可以有自己的布局管理器。因此,可仍然可以有自己的布局管理器。因此,可仍然可以有自己的布局管理器。因此,可仍然可以有自己的布局管理器。因此,可以利用以利用以利用以利用PanelPanel使得使得使得使得BorderLayoutBorderLayout中某个区域显示多中某个区域显示多中某个区域显示多中某个区域显示多个组件。个组件。个组件。个组件。Payattention:212223CardLayoutvCardLayout布局管理器能布局管理器能够够帮助用户处理两个以至更帮助用户处理两个以至更多的成员共享同一显示空间。多的成员共享同一显示空间。6 6.1 .1 创建图形界面创建图形界面24252627GUI事件处理事件处理 AWTAWT事件模型事件模型28WhatisanEvent?vEvent事件,就是发生在用户界面上的用户交事件,就是发生在用户界面上的用户交互行为所产生的一种效果。互行为所产生的一种效果。vEventSource产生事件的对象。产生事件的对象。vEventhandler接收事件对象并对其进行处理的方法。接收事件对象并对其进行处理的方法。29事件处理模型事件处理模型Hierachicalmodel(JDK1.0)事件传递机制。事件传递机制。Delegationmodel(JDK1.1,1.2)授权处理机制。授权处理机制。30Java以前的事件模型以前的事件模型l l以前的以前的以前的以前的JDK1.0AWTJDK1.0AWT使用的是使用的是使用的是使用的是“基于继承的事件模型基于继承的事件模型基于继承的事件模型基于继承的事件模型”,在,在,在,在该模型该模型该模型该模型ComponentComponent类中定义了一系列事件处理方法,如:类中定义了一系列事件处理方法,如:类中定义了一系列事件处理方法,如:类中定义了一系列事件处理方法,如:handleEventhandleEvent,mouseDownmouseDown,mouseUpmouseUp等等,我们对事件的等等,我们对事件的等等,我们对事件的等等,我们对事件的响应是通过对组件类继承并覆盖相应的事件处理方法的手段响应是通过对组件类继承并覆盖相应的事件处理方法的手段响应是通过对组件类继承并覆盖相应的事件处理方法的手段响应是通过对组件类继承并覆盖相应的事件处理方法的手段来实现,组件接收到事件向所在容器广播,沿着容器链直到来实现,组件接收到事件向所在容器广播,沿着容器链直到来实现,组件接收到事件向所在容器广播,沿着容器链直到来实现,组件接收到事件向所在容器广播,沿着容器链直到发现事件被某个容器的发现事件被某个容器的发现事件被某个容器的发现事件被某个容器的handlehandle方法所处理。这种模型有很多方法所处理。这种模型有很多方法所处理。这种模型有很多方法所处理。这种模型有很多缺点,事件的处理不应当由事件产生者负责,而且根据缺点,事件的处理不应当由事件产生者负责,而且根据缺点,事件的处理不应当由事件产生者负责,而且根据缺点,事件的处理不应当由事件产生者负责,而且根据“设设设设计模式计模式计模式计模式”一书中的原则,一书中的原则,一书中的原则,一书中的原则,“继承继承继承继承”通常被认为是通常被认为是通常被认为是通常被认为是“对封装性对封装性对封装性对封装性的破坏的破坏的破坏的破坏”,父子类之间的紧密耦合关系降低了灵活性,同时,父子类之间的紧密耦合关系降低了灵活性,同时,父子类之间的紧密耦合关系降低了灵活性,同时,父子类之间的紧密耦合关系降低了灵活性,同时继承容易导致家族树规模的庞大,这些都不利于组件可重用。继承容易导致家族树规模的庞大,这些都不利于组件可重用。继承容易导致家族树规模的庞大,这些都不利于组件可重用。继承容易导致家族树规模的庞大,这些都不利于组件可重用。31JDK1.0JDK1.0的事件模型:层次模型的事件模型:层次模型的事件模型:层次模型的事件模型:层次模型FrameFramePanelPanelButtonButtonActioneventActionevent AWTAWT事件模型事件模型32importjava.awt.*;importjava.awt.*;importjava.applet.*;importjava.applet.*;publicclassAwttestextendsAppletpublicclassAwttestextendsAppletButtonb1=newButton(button1);Buttonb1=newButton(button1);Buttonb2=newButton(button2);Buttonb2=newButton(button2);Buttonb3=newButton(button3);Buttonb3=newButton(button3);publicvoidinit()publicvoidinit()add(b1);add(b1);add(b2);add(b2);add(b3);add(b3);publicbooleanaction(Eventevt,Objectarg)publicbooleanaction(Eventevt,Objectarg)if(evt.target.equals(b1)if(evt.target.equals(b1)showStatus(button1);showStatus(button1);elseif(evt.target.equals(b2)elseif(evt.target.equals(b2)showStatus(button2);showStatus(button2);elseelsereturnsuper.action(evt,arg);returnsuper.action(evt,arg);returntrue;returntrue;Casestudy:Casestudy:Awttest.javaAwttest.java33事件控制的要点事件控制的要点wJavaJava最新的事件处理方法是基于授权事件模型最新的事件处理方法是基于授权事件模型最新的事件处理方法是基于授权事件模型最新的事件处理方法是基于授权事件模型w事件源生成事件并将其发送至一个或多个监听器事件源生成事件并将其发送至一个或多个监听器事件源生成事件并将其发送至一个或多个监听器事件源生成事件并将其发送至一个或多个监听器w监听器简单地等待,直到它收到一个事件。一旦事监听器简单地等待,直到它收到一个事件。一旦事监听器简单地等待,直到它收到一个事件。一旦事监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后返回。件被接受,监听器将处理这些事件,然后返回。件被接受,监听器将处理这些事件,然后返回。件被接受,监听器将处理这些事件,然后返回。34事件事件w在授权事件模型中,事件是一个描述事件源状态改在授权事件模型中,事件是一个描述事件源状态改在授权事件模型中,事件是一个描述事件源状态改在授权事件模型中,事件是一个描述事件源状态改变的对象变的对象变的对象变的对象。w通过鼠标、键盘与通过鼠标、键盘与通过鼠标、键盘与通过鼠标、键盘与 GUIGUI界面直接或间接交互都会生界面直接或间接交互都会生界面直接或间接交互都会生界面直接或间接交互都会生成事件。成事件。成事件。成事件。如:按下一个按钮、通过键盘输入一个字如:按下一个按钮、通过键盘输入一个字如:按下一个按钮、通过键盘输入一个字如:按下一个按钮、通过键盘输入一个字符、选择列表框中的一项、点击一下鼠标等。符、选择列表框中的一项、点击一下鼠标等。符、选择列表框中的一项、点击一下鼠标等。符、选择列表框中的一项、点击一下鼠标等。35事件源事件源w事件源的责任:事件源的责任:事件源的责任:事件源的责任:提供注册的方法,允许监听器为了获得特定类型的事件通提供注册的方法,允许监听器为了获得特定类型的事件通提供注册的方法,允许监听器为了获得特定类型的事件通提供注册的方法,允许监听器为了获得特定类型的事件通知进行注册知进行注册知进行注册知进行注册 产生一个事件产生一个事件产生一个事件产生一个事件 把事件发送到所有注册过的监听器:广播和单播把事件发送到所有注册过的监听器:广播和单播把事件发送到所有注册过的监听器:广播和单播把事件发送到所有注册过的监听器:广播和单播36监听器监听器w监听器的责任:监听器的责任:监听器的责任:监听器的责任:向事件源注册,以便收到特定事件的事件通知。向事件源注册,以便收到特定事件的事件通知。向事件源注册,以便收到特定事件的事件通知。向事件源注册,以便收到特定事件的事件通知。实现接口,接收该类型的事件实现接口,接收该类型的事件实现接口,接收该类型的事件实现接口,接收该类型的事件 如果不再要求事件通知,取消注册。如果不再要求事件通知,取消注册。如果不再要求事件通知,取消注册。如果不再要求事件通知,取消注册。37 AWTAWT事件模型事件模型JDK1.1JDK1.1的事件模型:委托模型的事件模型:委托模型的事件模型:委托模型的事件模型:委托模型将事件源对象和事件处理器(事件监听器)分开。将事件源对象和事件处理器(事件监听器)分开。将事件源对象和事件处理器(事件监听器)分开。将事件源对象和事件处理器(事件监听器)分开。事件监听器:事件监听器:事件监听器:事件监听器:实现了监听器接口的类。一个监听器对象实现了监听器接口的类。一个监听器对象实现了监听器接口的类。一个监听器对象实现了监听器接口的类。一个监听器对象是一个实现了专门的监听器接口的类的实例。是一个实现了专门的监听器接口的类的实例。是一个实现了专门的监听器接口的类的实例。是一个实现了专门的监听器接口的类的实例。FrameFramePanelPanelButtonButtonFrameandPanelFrameandPaneleventhandlerseventhandlersActioneventActionevent事件监听器事件监听器事件监听器事件监听器actionPerformed(ActionEvente)actionPerformed(ActionEvente)ActionhandlersActionhandlers38w使用使用使用使用JDK1.1JDK1.1授权处理模型进行事件处理的一般授权处理模型进行事件处理的一般授权处理模型进行事件处理的一般授权处理模型进行事件处理的一般方法:方法:方法:方法:对于某种类型的事件对于某种类型的事件对于某种类型的事件对于某种类型的事件XXXEvent,XXXEvent,要想接收并处理这类要想接收并处理这类要想接收并处理这类要想接收并处理这类事件,必须定义相应的事件监听器类,该类需要实现事件,必须定义相应的事件监听器类,该类需要实现事件,必须定义相应的事件监听器类,该类需要实现事件,必须定义相应的事件监听器类,该类需要实现针对特定事件的特定接口针对特定事件的特定接口针对特定事件的特定接口针对特定事件的特定接口XXXListenerXXXListener;事件源中产生事件后,必须注册相应于该类事件的监事件源中产生事件后,必须注册相应于该类事件的监事件源中产生事件后,必须注册相应于该类事件的监事件源中产生事件后,必须注册相应于该类事件的监听器,使用听器,使用听器,使用听器,使用addXXXListener(XXXListener)addXXXListener(XXXListener)方法来注方法来注方法来注方法来注册监听器。册监听器。册监听器。册监听器。39AWT采取的事件控制过程采取的事件控制过程w监听器对象属于一个类的实例,这个类实现了一个监听器对象属于一个类的实例,这个类实现了一个监听器对象属于一个类的实例,这个类实现了一个监听器对象属于一个类的实例,这个类实现了一个特殊的接口,名为特殊的接口,名为特殊的接口,名为特殊的接口,名为“监听者接口监听者接口监听者接口监听者接口”w事件源是一个对象,它可以注册一个或多个监听器事件源是一个对象,它可以注册一个或多个监听器事件源是一个对象,它可以注册一个或多个监听器事件源是一个对象,它可以注册一个或多个监听器对象,并向其发送事件对象。对象,并向其发送事件对象。对象,并向其发送事件对象。对象,并向其发送事件对象。w事件源将在发生事件时向所有注册的监听器发送事事件源将在发生事件时向所有注册的监听器发送事事件源将在发生事件时向所有注册的监听器发送事事件源将在发生事件时向所有注册的监听器发送事件对象。件对象。件对象。件对象。w监听器对象使用事件对象中的信息来确定它们对事监听器对象使用事件对象中的信息来确定它们对事监听器对象使用事件对象中的信息来确定它们对事监听器对象使用事件对象中的信息来确定它们对事件的响应。件的响应。件的响应。件的响应。40参与各方的关系参与各方的关系事件源事件源事件源事件源ModelModel事件事件事件事件监监监监听器听器听器听器ArbitraryObjectArbitraryObject激激激激发发发发事件事件事件事件注册注册注册注册监监监监听器听器听器听器publicsynchronizedvoidaddMouseMovedListenerpublicsynchronizedvoidaddMouseMovedListener(MouseMovedListenermcl)(MouseMovedListenermcl)TimerListenerTimerListener接口接口接口接口取消注册取消注册取消注册取消注册监监监监听器听器听器听器publicsynchronizedvoidremoveMouseMovedListenerpublicsynchronizedvoidremoveMouseMovedListener(MouseMovedListenermcl)(MouseMovedListenermcl)MouseMouseMovedEventMovedEvent事件事件事件事件41事件体系结构事件体系结构FocusEventAWTEventActionEventAdjustmentEventComponentEventTextEventItemEventContainerEventInputEventWindowEventPaintEventKeyEventMouseEventEventObject42按钮单击事件示例按钮单击事件示例publicclassMyEventTestextendsPanelpublicclassMyEventTestextendsPanelButtonmyButton=newButton(ButtonmyButton=newButton(蓝蓝色色色色););././创建面板或其他创建面板或其他创建面板或其他创建面板或其他 GUIGUI组件组件组件组件 MyListenermyAction=newMyListener();MyListenermyAction=newMyListener();MyButton.addActionListener(myAction);MyButton.addActionListener(myAction);privateclassMyListenerimplementsActionListenerprivateclassMyListenerimplementsActionListenerpublicMyListener()publicMyListener()././初始化初始化初始化初始化 publicvoidactionPerformed(ActionEventevent)publicvoidactionPerformed(ActionEventevent)././需要为事件进行的操作需要为事件进行的操作需要为事件进行的操作需要为事件进行的操作 实现了实现了ActionListener接口的监听器接口的监听器实现了实现了actionPerformed方法,方法,以便根据参数以便根据参数ActionEvent对对象的信息对事件做出响应象的信息对事件做出响应为为按按钮钮事件事件注册注册监监听器听器43Casestudy:Casestudy:MyEvent.javaMyEvent.java44AWT事件类型事件类型1事件类事件类事件类事件类说明说明说明说明事件源事件源事件源事件源ActionEventActionEvent通常按下按钮,双击列表项或选中通常按下按钮,双击列表项或选中通常按下按钮,双击列表项或选中通常按下按钮,双击列表项或选中一个菜单项时,就会生成此事件。一个菜单项时,就会生成此事件。一个菜单项时,就会生成此事件。一个菜单项时,就会生成此事件。ButtonButton、ListList、MenuItemMenuItem、TextFieldTextFieldAdjustmentEventAdjustmentEvent操纵滚动条时会生成此事件。操纵滚动条时会生成此事件。操纵滚动条时会生成此事件。操纵滚动条时会生成此事件。ScrollbarScrollbarComponentEventComponentEvent当一个组件移动、隐藏、调整大小当一个组件移动、隐藏、调整大小当一个组件移动、隐藏、调整大小当一个组件移动、隐藏、调整大小或成为可见时会生成此事件。或成为可见时会生成此事件。或成为可见时会生成此事件。或成为可见时会生成此事件。ComponentComponentItemEventItemEvent单击复选框或列表项时,或者当一单击复选框或列表项时,或者当一单击复选框或列表项时,或者当一单击复选框或列表项时,或者当一个选择框或一个可选菜单的项被选个选择框或一个可选菜单的项被选个选择框或一个可选菜单的项被选个选择框或一个可选菜单的项被选择或取消时生成此事件。择或取消时生成此事件。择或取消时生成此事件。择或取消时生成此事件。CheckboxCheckbox、CheckboxMenuItemCheckboxMenuItem、ChoiceChoice、ListListFocusEventFocusEvent组件获得或失去键盘焦点时会生成组件获得或失去键盘焦点时会生成组件获得或失去键盘焦点时会生成组件获得或失去键盘焦点时会生成此事件。此事件。此事件。此事件。ComponentComponent45AWT事件类型事件类型2事件类事件类事件类事件类说明说明说明说明事件源事件源事件源事件源KeyEventKeyEvent接收到键盘输入时会生成此事件。接收到键盘输入时会生成此事件。接收到键盘输入时会生成此事件。接收到键盘输入时会生成此事件。ComponentComponentMouseEventMouseEvent拖动、移动、单击、按下或释放拖动、移动、单击、按下或释放拖动、移动、单击、按下或释放拖动、移动、单击、按下或释放鼠标或在鼠标进入或退出一个组鼠标或在鼠标进入或退出一个组鼠标或在鼠标进入或退出一个组鼠标或在鼠标进入或退出一个组件时,会生成此事件。件时,会生成此事件。件时,会生成此事件。件时,会生成此事件。ComponentComponentContainerEventContainerEvent将组件添加至容器或从中删除时将组件添加至容器或从中删除时将组件添加至容器或从中删除时将组件添加至容器或从中删除时会生成此事件。会生成此事件。会生成此事件。会生成此事件。ContainerContainerTextEventTextEvent在文本区或文本域的文本改变时在文本区或文本域的文本改变时在文本区或文本域的文本改变时在文本区或文本域的文本改变时会生成此事件会生成此事件会生成此事件会生成此事件。TextFieldTextField、TextAreaTextAreaWindowEventWindowEvent当一个窗口激活、关闭、失效、当一个窗口激活、关闭、失效、当一个窗口激活、关闭、失效、当一个窗口激活、关闭、失效、恢复、最小化、打开或退出时会恢复、最小化、打开或退出时会恢复、最小化、打开或退出时会恢复、最小化、打开或退出时会生成此事件。生成此事件。生成此事件。生成此事件。WindowWindow46监听器接口监听器接口w监听器通过实现监听器通过实现监听器通过实现监听器通过实现 java.awt.eventjava.awt.event包中定义的一个包中定义的一个包中定义的一个包中定义的一个或多个接口来创建。或多个接口来创建。或多个接口来创建。或多个接口来创建。w在发生事件时,事件源将调用监听器定义的相应在发生事件时,事件源将调用监听器定义的相应在发生事件时,事件源将调用监听器定义的相应在发生事件时,事件源将调用监听器定义的相应方法。方法。方法。方法。w有兴趣接收事件的任何监听器类都必须实现监听有兴趣接收事件的任何监听器类都必须实现监听有兴趣接收事件的任何监听器类都必须实现监听有兴趣接收事件的任何监听器类都必须实现监听器接口。器接口。器接口。器接口。47监听器接口列表监听器接口列表1事件监听器事件监听器事件监听器事件监听器 方法方法方法方法 ActionListenerActionListeneractionPerformedactionPerformedAdjustmentListenerAdjustmentListeneradjustmentValueChangedadjustmentValueChangedComponentListenerComponentListenercomponentResizedcomponentResizedcomponentMovedcomponentMovedcomponentShowncomponentShowncomponentHiddencomponentHiddenContainerListenerContainerListenercomponentAddedcomponentAddedcomponentRemovedcomponentRemovedFocusListenerFocusListenerfocusLostfocusLost、focusGainedfocusGainedItemListenerItemListeneritemStateChangeditemStateChanged48监听器接口列表监听器接口列表2事件监听器事件监听器事件监听器事件监听器 方法方法方法方法 KeyListenerKeyListenerkeyPressedkeyPressed、keyReleasedkeyReleasedkeyTypedkeyTypedMouseListenerMouseListenermouseClickedmouseClicked、mouseEnteredmouseEnteredmouseExitedmouseExited、mousePressedmousePressedmouseReleasedmouseReleasedMouseMotionListenerMouseMotionListenermouseDraggedmouseDragged、mouseMovedmouseMovedTextListenerTextListenertextChangedtextChangedWindowListenerWindowListenerwindowActivatedwindowActivated、windowDeactivatedwindowDeactivatedwindowClosedwindowClosed、windowClosingwindowClosingwindowIconifiedwindowIconified、windowDeiconifiedwindowDeiconifiedwindowOpenedwindowOpened49适配器类适配器类适配器类适配器类适配器类适配器类 事件监听器接口事件监听器接口事件监听器接口事件监听器接口 ComponentAdapterComponentAdapterComponentListenerComponentListenerContainerAdapterContainerAdapterContainerLis

    注意事项

    本文(Java课件第六章图形界面设计.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开