授课题目 第六章 图形用户界面_第1页
授课题目 第六章 图形用户界面_第2页
授课题目 第六章 图形用户界面_第3页
授课题目 第六章 图形用户界面_第4页
授课题目 第六章 图形用户界面_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、授课题目 第六章 图形用户界面授课方式(请打)理论课 讨论课 实验课 习题课 其他课时安排2课时教学大纲要求:1. 常用GUI组件的概述与使用2. 事件分类3. 事件处理4. 布局管理5. 容器的概念与使用6. 对话框、菜单的定义与使用教学目的、要求(分掌握、熟悉、了解三个层次):1. 掌握:图形用户界面实现的基本原理和方法。2. 掌握:Java语言中图形用户界面程序的编写。3. 了解:Java语言中图形用户界面的构造与设计。教学重点及难点:重点1. 掌握:常用组件和布局管理的使用方法。2. 掌握:Java的事件处理。难点图形用户界面中各控件的熟练使用。作业、讨论题、思考题: 本章课后习题课后

2、总结分析:教 学内 容备注6.1 AWT简介抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立图形用户界面GUI的工具集,.6.1.1 AWT图形用户界面设计java.awt包中提供了GUI设计所使用的类和接口,提供了基本的Java程序的GUI图形用户界面设计的工具,6.1.2 AWT类1组件(Component)Component类是许多组件类的父类。属性如组件大小、显示位置、前景色和背景色、边界、可见性等,2容器(Container)Container类是Component类的子类。容器本身也是一个组件,每个容器都有一个布局管理器

3、,3面板(Panel)Panel类是Container类的一个具体的子类。调用Panel类的add()方法被加入到一个Panel对象中4窗口(Window)窗口类产生一个顶级窗口(Window)。5框架(Frame)Frame类封装了窗口通常所需要的一切组件,它是Window类的子类,并且拥有标题栏、菜单栏、边框以及可以调整大小的角。6画布(Canvas)虽然画布不是小应用程序和frame窗口的层次结构的一部分。6.2事件处理概述事件处理就是对按钮单击、鼠标移动等情况作出反应的过程。在事件处理的过程中,主要涉及三类对象:事件(Event)就是用户对图形界面操作的描述,以类的形式出现,如键盘操作

4、对应的事件类就是KeyEvent。事件源(Event Source)就是事件发生的场所,通常就是各个组件,例如按钮Button。事件处理者(Event handler)就是接收事件对象并对其进行处理的对象凡是要处理ActionEvent事件的类都必须实现ActionListener接口,实现ActionListener接口就必须重载上述的actionPerformed()方法,在重载的方法体中,通常需要调用参数e的有关方法。6.3 AWT控件控件(controls)是允许用户和应用程序用各种方式进行交互的组件,AWT支持的控件有标签、按钮、复选框、选择列表、列表框、滚动条、文本框等,这些控件都

5、是Component类的子类。1增加和删除控件增加常用的形式是:Component add(Component compObj)删除方法也是在Container类中定义的,如:void remove(Component obj)2对控件的响应程序只需简单地实现相应的接口,并为每个要监听的控件注册一个事件监听器。一旦一个事件监听器被安装,相应的事件就会被自动地发送给它。6.3.1 标签Label提供的构造方法如下:Label()Label(String text)Label(String text,int alignment)其中,text为标签上显示的文本,alignment是对齐方式,有3个

6、值:CENTER、LEFT、RIGHT。6.3.2 按钮与动作事件Button提供的构造方法如下:Button()Button(String text) /指定了按钮上的标签文字。调用按钮的getLabel()方法可以返回按钮上标签字符串;调用按钮的setLabel()方法可以修改按钮的标签字符串。ActionEvent类的主要方法有:(1)public String getActionCommand()(2)public int getModifiers()6.3.3 文本框与文本区1.TextField类常见的构造方法的使用如下:TextField name1=new TextField(

7、); TextField name2=new TextField(int columns); TextField name3=new TextField(String text); TextField name4=new TextField(String text,int columns);其中text为文本框中初始字符串,columns为文本框容纳字符的个数。2.TextArea类常见的构造方法的使用如下:TextArea textArea1=new TextArea();TextArea textArea2=new TextArea(int rows,int columns);TextAr

8、ea textArea3=new TextArea(String text);TextArea textArea4=new TextArea(String text,int rows,int columns);TextArea textArea5=new TextArea(String text,int rows,int columns,int scrollbars);3TextComponent类中的常用方法TextComponent类中的方法适合于TextField类和TextArea类,原因是TextField类和TextArea类都是它的子类。方法说明public int getCar

9、ePosition()获得插入文本的位置。public int getSelectionEnd()获得选定文本的结束位置。public int getSelectionStart()获得选定文本的开始位置。public String getSelectedText()获得TextComponent中被选择的文本。public String getText()获得TextComponent的文本。public void select(int start,int end)选择TextComponent中介于选定位置之间的文本。public void selectAll()选择TextCompone

10、nt中所有的文本。public void setEditable(boolean e)setEditable:设定TextComponent是否可以编辑public void setText(String text)设定文本字符串为TextComponent的内容。方法说明public boolean echoCharIsSet()测试TextField中是否有字符响应public int getColumn()获得文本框的行数public boolean echoCharIsSet()测试TextField中是否有字符响应public int getColumn()获得文本框的行数publi

11、c char getEchoChar()获得文本框的文本作为响应文本Public int getMinimumsize()获得文本框最小的尺寸Public int preferredSize()获得文本框合适的尺寸。Public void setEchoChar(char echo)设定文本框响应的字符4文本事件(TextEvent)String afterChange=(TextField)e.getSource().getText();对于动作事件,同样可以通过调用e.getSource()方法获得用户输入回车的那个文本框的对象。6.3.4 下拉列表与选择事件1. 选择事件(ItemEve

12、nt)ItemEvent类只包含一个事件,即代表选择项的选中状态发生变化的事件常量ITEMSTATE_CHANGED。引发这类事件的动作包括:(1)改变列表类List对象中选项的选中或不选中状态。(2)改变下拉列表类Choice对象中选项的选中或不选中状态。(3)改变复选按钮类Checkbox对象的选中或不选中状态。(4)改变检测盒菜单项CheckboxMenuItem对象的选中或不选中状态。ItemEvent类的主要方法有:(1)public ItemSelectable getItemSelectable():得到选中的事件源。(2)public Object getItem():得到选中

13、的选择项。(3)public int getStateChange():得到选中项的状态变化类型,它的返回值可能是下面两个静态常量之一:ItemEvent.SELECTED:代表选项被选中。ItemEvent.DESELECTED:代表选项被放弃。ItemEvent类产生的事件,以ItemListener接口触发动作,再由itemStateChanged()方法去完成这些动作。2. 下拉列表6.3.5 列表与选择事件可使用如下方法创建列表:List colorlist=new List(3,true); /列表的构造方法Colorlist.add("red"); /将字符串

14、加到列表中列表常用的方法如下:add(String item):将标签为item的选项加入列表中。add(String item,int index):将标签为item的选项加入列表中指定序号处。getSelectedItem():获得已选中的选择项文本。getSelectedItems():获得所有已选择的选项组成的字符数组。getSelectedIndex():获得已选中的选择项的序号。getSelectedIndexs():获得所有已选择的选项组成的整型数组。select(int index):选中指定序号的选项。deselect(int index):不选指定序号的选项。remove(

15、String item):将指定标签的选项删除。remove(int index):将指定序号的选项删除6.3.6 复选框与选择事件复选按钮的构造方法如下:Checkbox()Checkbox(String str,Boolean tf)其中,str指明对应的文本标签,tf是一个逻辑值,或为true,或为false。6.3.7 单选按钮组与选择事件单选按钮组用CheckboxGroup类的对象表示。在声明单选按钮组时,可以用如下方法:CheckboxGroup radio=new CheckboxGroup(); /单选按钮组构造方法Add(new Checkbox("YES&quo

16、t;,radio,true); /在单选按钮组创建第1个复选框Add(new Checkbox("NO",radio,false); /在单选按钮组创建第2个复选框Add(new Checkbox("CANCEL",radio,false); /在单选按钮组创建第3个复选框6.3.8 滚动条与调整事件引发这类事件的具体动作有:操纵滚动条(Scrollbar)改变其滑块位置。操纵用户自定义的Scrollbar对象的子类组件,改变其滑块位置。AdjustmentEvent类产生的事件,经由AdjustmentListener接口触发动作,再由adjustme

17、ntValueChanged()方法去完成这些动作。AdjustmentEvent类的主要方法有:Public Adjustable getAdjustable():返回引发状态变化事件的事件源。Public int getAdjustmentType():返回状态变化事件的状态变化类型,通过其返回值,就可以知道用户发出的哪种操作引发了哪种连续的状态变化。Public int getValue():返回状态变化后的滑块对应的当前数值。滚动条(Scrollbar)滚动条是用来选取某一个介于最大值与最小值之间的值的组件。滚动条可分成水平滚动条(Horizontal scrollbar)和垂直滚动条

18、(Vertical scrollbar)两种。Scrollbar组件常用的方法:getBlockIncrement():获得滚动条按钮的增量。getMaximum():获得滚动条最大值。getMinimum():获得滚动条最小值。getUnitIncrement():获得滚动条每次的增量。getValue():获得滚动条目前的值。setBlockIncrement(int):设定滚动条按钮的增量。setMaximum(int):设定滚动条最大值。setMinimum(int):设定滚动条最小值。setOrientation(int):设定滚动条方向。setUnitIncrement(int):

19、设定滚动条每次的增量。setValue(int):设定滚动条目前的值。setValues(int,int,int,int):设定滚动条4种属性(value、visible、minimum、maximum)的值。6.3.9 鼠标、键盘事件1鼠标事件(MouseEvent)MouseEvent类包含如下的若干个鼠标事件,分别用MouseEvent类的同名静态整型常量标志。(1)MOUSE_CLICKED:鼠标点击事件。(2)MOUSE_DRAGGED:鼠标拖动事件。(3)MOUSE_ENTERED:鼠标进入事件。(4)MOUSE_EXITED:鼠标离开事件。(5)MOUSE_MOVED:鼠标移动事

20、件。(6)MOUSE_PRESSED:鼠标按钮按下事件。(7)MOUSE_RELEASED:鼠标按钮松开事件。调用MouseEvent对象的getID()方法并把返回值与上述常量比较,就可以知道用户引发的是哪个具体的鼠标事件。MouseEvent类有如下主要方法:(1)public int getX():返回发生鼠标事件的X坐标。(2)public int getY():返回发生鼠标事件的Y坐标。(3)public Point getPoint():返回鼠标事件发生的坐标点。(4)public int getClickCount():返回鼠标点击事件的点击次数。2键盘事件(KeyEvent)K

21、eyEvent 类包含如下3个具体的键盘事件,分别对应KeyEvent类的几个同名的静态整型常量。(1)KEY_PRESSED: 键盘上按键被按下的事件。(2)KEY_RELEASED:键盘上按键被松开的事件。(3)KEY_TYPED:键盘上按键被敲击的事件。KeyEvent类的主要方法有:(1)public char getKeyChar():返回KeyEvent类的一个静态常量KeyEvent.CHAR_UNDEFINED。(2)public String getKeyText():返回按键的文本内容。6.4 布局管理器布局管理器主要包括:FlowLayout,BorderLayout,GridLayout,CardLayout,GridBagLayout。1FlowLayoutFlowLayout 是Panel,Applet的缺省布局管理器。构造方法主要下面几种:(1)FlowLayout(FlowLayout.RIGHT,20,40);第一个参数表示组件的对齐方式,指组件在这一行中的位置是居中对齐、居右对齐还是居左对齐,第二个参数是组件之间的横向间隔,第三个参数是组件之间的纵向间隔,单位是像素。(2

温馨提示

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

评论

0/150

提交评论