java第7章AWT组件及事件处理.ppt_第1页
java第7章AWT组件及事件处理.ppt_第2页
java第7章AWT组件及事件处理.ppt_第3页
java第7章AWT组件及事件处理.ppt_第4页
java第7章AWT组件及事件处理.ppt_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

第章AWT组件及事件处理,7.1Java窗口7.2文本框7.3内部类实例做监视器7.4按钮与标签7.5菜单项7.6文本区7.7面板7.8布局7.9画布,7.10选择型组件7.11Component类的常用方法7.12窗口事件7.13鼠标事件7.14焦点事件7.15键盘事件,图形用户界面,AWT:(AbstractWindowToolkit)中包含了许多类和接口,用于JavaApplication的GUI:(GraphicsUserInterface)编程。通过图形用户界面用户和程序之间可以方便地进行交互。Java的抽象窗口工具包(AWT由Java的java.awt包提供,该包中有许多用来设计GUI的组件类,如:按钮、菜单、列表、文本框等组件类,同时它还包含窗口、面板等容器类。,容器类(Container)和组件类(Component),Java的图形用户界面的最基本组成部分是Component,Component类及其子类的对象用来描述以图形化的方式显示在屏幕上并能与用户进行交互的GUI元素,例如,一个按钮或标签等。一般的Component对象不能独立地显示出来,必须将“放在”某一的Container对象中才可以显示出来。Container是Component子类,Container子类对象可以“容纳”别的Component对象,Container对象可使用方法add()将其他Component对象添加在它的里面。Container是Component的子类,因此Container对象也可以被当成Component对象添加到其他Container对象中。有两种常用的Container:Window:其对象表示自由停泊的顶级窗口。Panel:其对象可作为容纳其它Component对象,但不能独立存在,必须添加到其它Container中(如Window或Applet)。,7.1Java窗口,Frame类是Container类的间接子类(既Window的子类)。当需要一个窗口时,可使用Frame或其子类创建一个对象。窗口是一个顶级容器,不允许将一个窗口添加到另一个容器中,可以向窗口添加组件。需要注意的是,窗口默认地被系统添加到显示器屏幕上。,1.Frame常用方法,Frame是Window的子类,由Frame或其子类创建的对象为一个窗口。Frame的常用构造方法:Frame()创建一个无标题的窗口,默认布局为BorderLayout布局。Frame(Strings)创建一个标题为s的窗口,默认布局同上。1publicvoidsetBounds(inta,intb,intwidth,intheight)设置出现在屏幕上时的初始位置是(a,b),即距屏幕左面a个像素、距屏幕上方b个像素;窗口的宽是width,高是height。2publicvoidsetSize(intwidth,intheight)设置窗口的大小,窗口在屏幕出现是默认位置是(0,0)。3publicvoidsetVisible(booleanb)设置窗口是可见还是不可见,窗口默认是不可见的。4publicvoidsetResizable(booleanb)设置窗口是否可调整大小,窗口默认是可调整大小的。5.publicvoidsetLocation(intx,inty)设置窗口的位置,x,y为左上角坐标。6.setBackground(Colorr)7.setTitle(Strings)StringgetTitle(),7.2文本框,java.awt包中的类TextField类创建文本框用户可以在文本框输入单行的文本,.TextField类的主要方法,TextField(intx)如果使用这个构造方法创建文本框对象,文本框中的可见字符序列的长度为x个机器字符长。文本框是可编辑的,用户可以在文本框中输入若干个字符。TextField(Strings)如果使用这个构造方法创建文本框对象,则文本框的初始字符串为s。文本框是可编辑的,可以在文本框中输入若干个字符。publicvoidsetText(Strings)文本框对象调用该方法可以设置文本框中的文本为参数s指定的文本,文本框中先前的文本将被清除。publicStringgetText()文本框对象调用该方法可以获取文本框中的文本。PublicvoidsetEchoChar(charc)PublicvoidsetEditable(booleanb)publicvoidaddActionListener(ActionListenerl)文本框对象调用该方法可以向文本框增加动作监视器(将监视器注册到文本框)。,2.文本框上的ActionEvent事件,学习组件除了了解组件的属性和功能外,一个更重要的方面是学习怎样处理组件上发生的界面事件。在学习处理事件时,必须很好地掌握事件源、监视器、处理事件的接口这三个概念。通过处理文本框这个具体的组件上的事件,来掌握处理事件的基本原理。,Java的事件处理模式,事件源能够产生事件的对象都可以成为事件源,如文本框、按钮、下拉式列表等。也就是说,事件源必须是一个对象,而且这个对象必须是Java认为能够发生事件的对象。监视器需要一个对象对事件源进行监视,以便对发生的事件作出处理。事件源通过调用相应的方法将某个对象作为自己的监视器。例如,对于文本框,这个方法是:addActionListener(监视器);创建该监视器对象的类必须声明实现相应的接口处理事件的接口在文本框获得输入焦点之后,如果用户按回车键,Java运行系统就自动用ActionEvent类创建了一个对象,即发生了ActionEvent事件当事件源发生事件时,监视器就自动调用执行被类实现的某个接口方法,处理事件示意图,ActionEvent类的常用方法,publicObjectgetSource()返回事件源对象的引用.publicStringgetActionCommand()获取和该事件相关的一个命令字符串.例7.3例7.4,7.3内部类实例做监视器,使用内部类实例做监视器减少代码的编写。可以用和接口有关的匿名类的实例做监视器。例7.5,可以做监视器的对象,1.本类的对象(例3)2.内部类的对象(例5)3.匿名类的对象(例5)4.普通类的对象(不能直接访问其他类的成员)(例4),7.4按钮与标签,标签的功能是只显示文本,不能动态地编辑文本。Lalel类的实例就是一个标签.Label()Label(Strings)Label(Strings,intalignment)PublicvoidsetText(Strings)PublicvoidgetText()PublicvoidsetAlignment(intalignment)PublicvoidgetAlignment(),按钮组件,Java.awt包中的Button类是专门用来建立按钮的。即Button类创建的一个对象就是一个按钮。按钮可以发生ActionEvent事件,当按钮获得监视器之后,用鼠标单击按钮,就发生ActionEven事件.Button()Button(Strings)PublicvoidsetLabel(Strings)PublicStringgetLabel()PublicvoidaddActionListener(ActionListenerl)PublicvoidremoveActionListener(ActionListenerl),7.5菜单条、菜单、菜单项,(1)java.awt包中的Menubar类是负责创建菜单条的,即Menubar的一个实例就是一个菜单条。Frame类有一个将菜单条放置到窗口中的方法:MenuBarmb=newMenuBar();setMenuBar(MenuBarbar);(2)java.awt包中的Menu类是负责创建菜单的,即Menu的一个实例就是一个菜单,Menum1=newMenu(“菜单名”);Mb.add(m1);(3)java.awt包的MunuItem类负责创建菜单项,即MenuItem的一个实例就是一个菜单项MenuItemm11=newMenuItem(“菜单项名”);m1.add(m11);单击某个菜单项可以发生ActionEvent事件,因此,我们可以通过处理ActionEvent事件实现我们想要进行的操作。,(4)插入分隔线m1.addSeparator();(5)为菜单项定义快捷键可以使用MenuShotcut类为菜单项设置快捷键,该类的一个构造方法是:MenuShotcut(intkey);其中key可以取值:KeyEvent.VK_AKeyEvent.VK_Z;菜单项使用setShortcut(MenuShortcutk)方法来设置快捷键。方法一:MenuItemm11=newMenuItem(“菜单项名”,newMenuShortcut(KeyEvent.VK_A);方法二:MenuItemm11=newMenuItem(“菜单项名”);M11.setShortcut(newMenuShortcut(KeyEvent.VK_A);,(6)定义带复选框的菜单项CheckboxMenuItemm11=newCheckboxMenuItem(“复选菜单”);有getState()setState()方法不产生动作事件,只产生状态改变事件事件源.addItemListener(监听器);(7)建立二级菜单创建一个菜单,添加到另一个菜单中.,7.6文本区,java.awt包中的类TextArea类是专门用来建立文本区的,即TextArea创建的一个对象称做一个文本区。用户可以在文本区输入多行的文本。,1.TextArea类主要方法,TextArea()TextArea(Strings)TextArea(intx,inty)使用这个构造方法创建文本区对象,文本框可见行数和列数数分别为x和y。文本区有水平和垂直滚动条。publicvoidsetText(Strings)文本区对象调用该方法可以将文本区中的文本设置为参数s指定的文本,文本区中先前的文本将被清除。publicStringgetText()文本区对象调用该方法可以获取文本区中的文本。publicvoidappend(Strings)文本区对象调用该方法可以在文本区中尾加文本.,Publicvoidinsert(Strings,intx)PublicvoidreplaceRange(Strings,intstart,intend)IntgetCaretPosition()PublicvoidsetCarePosition(intposition)PublicvoidselectAll()addTextListener(TextListener)文本区对象调用该方法可以向文本框增加文本监视器。,.文本区上的TextEvent事件,对于文本区事件源,可以发生TextEvent事件。当文本区获得监视器之后,在文本区域中改变文本的内容,如键入字符、删除字符时,TextEvent类将自动创建一个事件对象。发生TextEvent事件的事件源获得监视器的方法是:addTextListener(监视器);由于文本区可以发生TextEvent事件,所以TextArea类提供了addTextListener方法。处理发生TextEvent事件的接口是TextListener,该接口中只有一个的方法:textValueChanged(TextEvente)创建文本区监视器的类必须要实现TextListener接口。当文本区发生TextEvent事件时,监视器将自动调用方法:textValueChanged(TextEvente)对发生的事件作出处理。,7.12窗口事件,Frame是Window的子类,凡是Window子类创建的对象都可以发生WindowEvent类型事件,即窗口事件。当一个Frame窗口被激活、撤消激活、打开、关闭、图标化或撤消图标化时,就引发了窗口事件,即WindowEvent创建一个窗口事件对象。WindowEvent创建的事件对象调用getWindow()方法可以获取发生窗口事件的窗口。窗口使用addWindowlistener方法获得监视器,创建监视器对象的类必须实现WindowListener接口,该接口中有7个不同的方法.,.WindowListener接口中的方法,publicvoidwindowActivated(WindowEvente)当窗口从非激活状态到激活时,窗口的监视器调用该方法。publicvoidwindowDeactivated(WindowEvente)当窗口激活状态到非激活状态时,窗口的监视器调用该方法。publicvoidwindowClosing(WindowEvente)当窗口正在被关闭时,窗口的监视器调用该方法。publicvoidwindowClosed(WindowEvente)当窗口关闭后,窗口的监视器调用该方法。publicvoidwindowIconified(WindowEvente)当窗口图标化时,窗口的监视器调用该方法。publicvoidwindowDeiconified(WindowEvente)当窗口撤消图标化时,窗口的监视器调用该方法。publicvoidwindowOpened(WindowEvente)当窗口打开时,窗口的监视器调用该方法。,2.WindowAdapter适配器,适配器可以代替接口来处理事件,当Java提供处理事件的接口中多于一个方法时,Java相应地就提供一个适配器类,比如WindowAdapter类。适配器已经实现了相应的接口,例如WindowAdapter类实现了WindowListener接口。因此,可以使用WindowAdapte的子类创建的对象做监视器,在子类中重写所需要的接口方法即可。,7.7面板,java.awt包的Panel类是Container(容器)的子类,因此Panel类及其子类的实例也是一个容器,Panel型容器的默认布局是FlowLayout型布局。Panel类创建的对象称做面板,我们经常在一个面板里添加若干个组件后,再把面板放到另一个容器里。java.awt包中的ScrollPane类也是Container类的子类,因此该类创建的对象也是一个容器,称为滚动面板。我们可以把一个组件放到一个滚动面板中,然后通过滚动条来观察这个组件。与Panel创建的容器所不同的是,ScrollPane带有滚动条,而且只能向滚动面板添加一个组件。,7.8布局,当把组件添加到容器中时,希望控制组件在容器中的位置,这就需要学习布局设计的知识。我们将分别介绍java.awt包中的FlowLayout、BorderLayout、CardLayout、GridLayout布局类和java.swing.border包中的BoxLayout布局类。容器可以使用方法:setLayout(布局对象);来设置自己的布局。,1.FlowLayout布局,FlowLayout类创建的对象称做FlowLayout型布局。FlowLayout型布局是Panel型容器的默认布局,即Panel及其子类创建的容器对象,如果不专门为其指定布局,则它们的布局就是FlowLayout型布局。如果一个容器使用这个FlowLayout型布局,组件按照加入的先后顺序从左向右排列,一行排满之后就转到下一行继续从左至右排列.,2.BorderLayout布局,BorderLayout布局是Window型容器的默认布局,例如Frame、Dialog都是Window类的子类,它们的默认布局都是BorderLayout布局。如果一个容器使用这种布局,那么容器空间简单地划分为东、西、南、北、中五个区域,中间的区域最大。,3.CardLayout布局,使用CardLayout的容器可以容纳多个组件,但是实际上同一时刻容器只能从这些组件中选出一个来显示,就像一叠“扑克牌”每次只能显示最上面一张一样,这个被显示的组件将占据所有的容器空间,依次排序。,4.GridLayout布局,GridLayout的布局策略是把容器划分成若干行乘若干列的网格区域,组件就位于这些划分出来的小格中。GridLayout比较灵活,划分多少网格由程序自由控制,而且组件定位也比较精确由于GridLayout布局中每个网格都是相同大小并且强制组件与网格的大小相同,使得容器中的每个组件也都是相同的大小,显得很不自然。为了克服这个缺点,你可以使用容器嵌套。,.BoxLayout布局,盒式布局的容器将组件排列在一行或一列,这取决于创建盒式布局对象时,是否指定了是行排列还是列排列。使用行(列)型盒式布局的容器将组件排列在一行(列),组件按加入的先后顺序从左(上)向右(下)排列,容器的两端是剩余的空间。和FlowLayou布局不同的是,使用行型盒式布局的容器只有一行(列),即使组件再多,也不会延伸到下一行(列),这些组件可能会被缩小大小,紧缩在这一行(列)中。,Null布局,p.setLayout(null);(1)p.add(c);(2)c.setBounds(x,y,width,height);,7.9画布,作用:用来绘图的组件.java.awt包中的类Canvas负责创建画布对象。创建画布对象的常用办法是用Canvas的子类来创建画布对象,并在子类中重写父类的publicvoidpaint(Graphicsg)方法。该方法是Component类的一个方法,可以在其子类中重写这个方法,当重写这个方法时,参数g是自动实例化的,这样我们就可以在子类中使用g调用相应方法,比如画串、画图形、图像等.画布没有默认大小,必须用setSize()方法设定画布大小.,7.5选择型组件,选择框选择框提供两种状态,一种是选中,另一种是未选中。java.awt包中的Checkbox用来建立选择框,即Checkbox创建的一个对象就是一个选择框。常用方法:Checkbox()Checkbox(Strings)Checkbox(Strings,booleanb)Checkbox(Strings,booleanb,CheckboxGroupg)PublicvoidaddItemListener(ItemListener)PublicbooleangetState()setState(booleanb)getLabel()setLabel(Strings),选择框上的ItemEvent事件,选择框从未选中状态变成选中状态或从选中状态变成未选中状态时,发生ItemEvent事件。选择框可以发生ItemEvent事件,发生ItemEvent事件的事件源获得监视器的方法是:addItemListener(监视器).创建监视器的类必须实现ItemListener接口,该接口中只有一个的方法。当在选择框发生ItemEvent事件时,监视器将自动调用接口方法:temStateChanged(ItemEvente)对发生的事件作出处理.ItemEvent类中的方法获得事件源:getSource()getItemSelectable(),下拉列表Choice创建的一个对象称作一个下拉列表组件,它是用户十分熟悉的一个组件。用户可以在下拉列表看到第一个选项和它旁边的箭头按钮,当用户单击箭头按钮时,选项列表打开。Choice()Publicvoidadd(Stringname)PublicintgetSelectedIndex()PublicStringgetSelectedItem()Publicvoidinsert(Stingname,intindex)Publicvoidremove(Stringname)PublicintgetItemCount()Publicvoidselect(intindex)Publicvoidselect(Stringname),Publicvoidremove(intindex)PublicvoidremoveAll()PublicvoidaddItemListener(ItemListener)PublicvoidremoveItemListener(ItemListener)下拉式列表可以发生ItemEvent事件。当下拉式列表获得监视器之后,用户在下拉列表选项列表中选中某个选项时就发生ItemEvent事件.,滚动列表java.awt包中的类List类建立滚动列表.List()List(intn)List(intn,booleanb)滚动列表和下拉列表的一不同之处是可以选中多个选项,PublicintgetSelectedIndexes()PublicStringgetSelectedItems()滚动列表和下拉列表的另一不同之处是,滚动列表除了可以发生ItemEvent事件外,还可以发生ActionEvent事件。当用鼠标单击滚动列表的某个选项后,发生ItemEvent事件;当用鼠标双击某个选项后,发生ActionEvent事件。,7.11Component类的常用方法,Component类是所有组件的父类,这一节介绍Component类的常用方法,1.组件的颜色,publicvoidsetBackground(Colorc)设置组件的背景色。publicvoidsetForeground(Colorc)设置组件的前景色。publicColorgetBackground()获取组件的背景色。publicColorgetForeground()获取组件的前景色。注:Color类PublicColor(intred,intgreen,intblue)其中,red,green,blue的取值在0255Color类的常量:red,blue,green,orange,cyan,yellow,pinkblack,white等。,2组件的字体,publicvoidsetFont(Fontf)组件调用该方法设置组件上的字体。例如,文本组件调用该方法可以设置文本组件中的字体。publicFontgetFont()组件调用该方法获取组件上的字体。注:Font类:PublicFont(Stringname,intstyle,intsize);获得计算机上所有字体名的方法:GraphicsEnvironmentge=GraphicsEnvironment.getLocalGraphicsEnviroment();StringfontName=ge.getAvailableFontFamilyName();,3组件的大小与位置,publicvoidsetSize(intwidth,intheight)组件调用该方法设置组件的大小,参数width指定组件的宽度,height指定组件的高度。publicvoidsetLocation(intx,inty)组件调用该方法设置组件在容器中的位置,包含该组件的容器都有默认的坐标系,容器的坐标系的左上角的坐标是(0,0),参数x,y指定该组件的左上角在容器的坐标系中的坐标,即组件距容器的左边界x个像素,距容器的上边界y个像素。publicDimensiongetSize()组件调用该方法返回一个Dimension对象的引用,该对像实体中含有名字是width和height的成员变量,方法返回的Dimension对象的width的值就是组件的宽度、height的值就是当前组件的高度。publicPointgetLocation()组件调用该方法返回一个Point对象的引用,该对像实体中含有名字是x和y的成员变量,方法返回的Point对象的x,y的值就是组件的左上角在容器的坐标系中的x坐标和y坐标。publicvoidsetBounds(intx,inty,intwidth,intheight)组件调用该方法设置组件在容器中的位置和组件的大小。该方法相当于setSize方法和setLocation方法的组合。publicRectanglegetBounds()组件调用该方法返回一个Rectangle对象的引用,该对象实体中含有名字是x、y、width和height的成员变量,方法返回的Rectangle对象的x,y的值就是组件的左上角在容器的坐标系中的x坐标和y坐标,width和height的值就是当前组件的宽度和高度。,4组件的激活与可见性,publicvoidsetEnabled(booleanb)组件调用该方法可以设置组件是否可被激活,当参数b取值true时,组件可以被激活,当参数b取值false时,组件不可激活。默认情况下,组件是可以被激活的。publicvoidsetVisible(boolean)设置组件在该容器中的可见性,当参数b取值true时,组件在容器中可见,当参数b取值false时,组件在容器中不可见。除了Window型组件外,其它类型组件默认是可见的。,5组件上的光标,publicvoidsetCursor(Cursorc)设置鼠标指向组件时的光标形状。Cursorc=newCursor(Cursor.HAND_CURSOR);可以使用Cursor类的类方法直接获得一个光标对象,例如:Cursorc=Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);,6paint方法与repaint方法,paint()方法:publicvoidpaint(Graphicsg)调用repaint()方法时,repaint()方法会再去调用update(Graphicsg)方法。update(Graphicsg)方法也是Component类中的一个方法,这个方法的功能是:清除paint()方法以前所画的内容,然后再调用paint方法。因此我们可以在子类中重写update方法(即隐藏父类的方法),根据需要来清除哪些部分或保留哪些部分。,7.13鼠标事件,任何组件上都可以发生鼠标事件,如:鼠标进入组件、退出组件、在组件上方单击鼠标、拖动鼠标等都触发组件发生鼠标事件,也就是说,组件可以成为发生鼠标事件的事件源。,1.MouseListener接口,使用MouseListener接口可以处理5种操作触发的鼠标事件:(1)在事件源上按下鼠标键。(2)在事件源上释放鼠标键。(3)在事件源上击鼠标键。(4)鼠标进入事件源。(5)鼠标退出事件源。鼠标事件的类型是MouseEvent,即当发生鼠标事件时,MouseEvent类自动创建一个事件对象。,MouseListener接口中的方法,(1)mousePressed(MouseEvent)负责处理在组件上按下鼠标触发的鼠标事件,当在组件上按下鼠标时,监视器将自动调用接口中的这个方法对事件作出处理。(2)mouseReleased(MouseEvent)负责处理在组件上释放鼠标触发的鼠标事件,当在组件上释放鼠标时,监视器将自动调用接口中的这个方法对事件作出处理。(3)mouseEntered(MouseEvent)负责处理鼠进入组件触发的鼠标事件,当鼠标进入组件上方时,监视器将自动调用接口中的这个方法对事件作出处理。(4)mouseExited(MouseEvent)负责处理鼠标离开组件触发的鼠标事件,当鼠标离开组件时,监视器自动调用接口中的这个方法对事件作出处理。(5)mouseClicked(MouseEvent)负责处理在组件上单击或连击鼠标触发的鼠标事件,当单击或连击鼠标时,监视器自动调用接口中的这个方法对事件作出处理。,2MouseMotionListener接口,使用MouseMotionListener接口可以处理以下两种操作触发的鼠标事件:(1)在事件源上拖动鼠标。(2)在事件源上移动鼠标。MouseMotionListener接口中有如下方法:(1)mouseDragged(MouseEvent)负责处理在组件上拖动鼠标触发的鼠标事件,当在组件上拖动鼠标时,监视器调用接口中的这个方法对事件作出处理。(2)mouseMoved(MouseEvent)负责处理在组件上运动鼠标触发的鼠标事件,当在组件上运动鼠标时,监视器调用接口中的这个方法对事件作出处理,7.14焦点事件,组件可以触发焦点事件。组件可以使用publicvoidaddFocusListener(FocusListenerlistener)增加焦点事件监视器。当组件获得焦点监视器后,如果组件从无输入焦点变成有输入焦点或从有输入焦点变成无输入焦点都会触发FocusEvent事件。创建监视器的类必须要实现FocusListener接口,该接口有两个方法:publicvoidfocusGained(FocusEvente)publicvoidfocusLost(FocusEvente)当组件从无输入焦点变成有输入焦点触发FocusEvent事件时,监视器调用类实现的接口方法:focusGained(FocusEvente);当组件从有输入焦点变成无输入焦点触发FocusEvent事件时,监视器调用类实现的接口方法:focusLost(FocusEvente)。,7.15键盘事件,当按下、释放或敲击键盘上一个键时就发生了键盘事件,在Java1.2事件模式中,必须要有发生事件的事件源。当一个组件处于激活状态时,敲击键盘上一个键就导致这个组件上发生了键盘事件。事件源使用addKeyListener方法获得监视器。使用KeyListener接口处理键盘事件.接口KeyListener中有3个方法:publicvoidkeyPressed(KeyEvente),publicvoidkeyTyped(KeyEvente),publicvoidKeyReleased(KeyEvente)。,(8)弹出式菜单,弹出式菜单是一种非常方便的菜单工具,它平常依附在某个容器或组件上并不显现出来,当用户点击鼠标右键时它就会弹出来。W8,事件类型:,总结,ActionEventActionListeneractionPerformed(ActionEvente)addActionListener()TextEventTextListenertextValueChanged(TextEvente)addTextListener()ItemEventItemListeneritemStateChanged(ItemEvente)addItemListener()MouseEventMouseListenermouseClicked(MouseEvente)addMouseListener()mousePressed(MouseEvente)mouseReleased(MouseEvente)mouseEntered(MouseEvente)mouseExited(MouseEvente)MouseEventMouseMotionListenermouseDragged(MouseEvente)addMouseMotionListener()mouseMoved(MouseEvente)WindowEventWindowListenerwindowOpened(WindowEvente)addWindowListener()windowClosing(WindowEvente)windowClosed(WindowEvente)windowIconified(WindowEvente)windowDeiconified(WindowEvente)windowActivated(WindowEvente)windowDeactivated(WindowEvente),接口类型及所包含方法声明:,ActionEvent类-1,ActionEvent类对应一个动作事件,如点击按钮、选择菜单项、单行文本框中输入字符串并按下回车键等等,都是ActionEvent类的事件。可能产生ActionEvent事件的AWT组件主要有:Button、TextField、MenuItemActionEvent类对应的监听器接口是ActionListener,事件源使用addActionListener(ActionListenerlistener)方法来注册事件该类事件的监听器。,ActionEvent类-2,ActionEvent类常用方法:publicStringgetActionCommand()publicObjectgetSource()publicintgetModifier()ActionEvent.SHIFT_MASKActionEvent.CTRL_MASK处理ActionEvent事件的监听器接口是ActionListener,其中只包含一个方法:publicvoidactionPerformed(ActionEvente)当ActionEvent事件发生时该方法被调用,重写该方法对ActionEvent事件进行处理,TextEvent类,TextEvent事件发生在文本组件中的字符串发生改变时。前面介绍的ActionEvent事件也可以发生TextField上,但它产生的时机是输入文本并按下Enter键之后,TextEvent事件是在向TextArea输入字符串而还未按下Enter键时就会引发的事件。处理TextEvent事件的监听器接口是TextListener,该接口中只包含1个方法:voidtextValueChanged(TextEvente),ItemEvent类,ItemEvent类事件是发生在具有项目选择功能组件上的,比如,选中List或Choice中的选项,或是改变了Checkbox的状态时,就会引发ItemEvent事件。ItemEvent类常用方法:publicObjectgetItem()publicintgetStateChange()/ItemEvent.SELECTED,ItemEvent.DESELECTED处理ItemEvent事件,需要实现ItemListener接口,其中包含1个方法:publicvoiditemStateChanged(ItemEvente)当选项的选择状态发生改变时被调用,MouseEvent类-1,MouseEvent事件是用户使用鼠标在某个组件上进行某种动作时产生的事件,比如鼠标单击组件、鼠标移入组件区域、鼠标移出组件区域等等都会发生MouseEvent事件。MouseEvent类常用方

温馨提示

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

最新文档

评论

0/150

提交评论