JAVA语言程序设计(1)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

JAVA语言程序设计电子教案胡杰二00五年九月六日第8章图形用户界面§8.1图形用户界面概述1、图形用户界面(GUI-GraphicsUserInterface):◆使用图形的方式,帮助用户向计算机系统发出命令,执行操作◆是一组图形界面成分和界面元素的有机组合,它们共同组成了能响应特定事件具有一定功能的系统◆生成图形用户界面的类库是java.awt包2、设计图形用户界面的工作◆完成图形用户界面的物理外观:创建组成界面的各成分和元素,指定其属性和位置第8章图形用户界面◆设计交互功能:定义图形用户界面的事件和各个界面元素对事件的响应图形用户界面的一个实例3、组成图形用户界面的成分A、容器:容器是用来组织其他界面成分和元素的单元(如窗口)。它包含有各种界面成分和元素(或容器)B、控制组件它是图形用户界面的最小单元之一,它不再包含其他的成分。其作用是完成与用户的一次交互第8章图形用户界面使用控制组件的步骤:◆创建某组件类的对象,指定相应的属性◆使用布局策略,将组件对象加入到某个容器的某个位置◆将组件对象注册到相应的事件监听器,重载事件的方法,实现交互3、用户定义成分由编程人员根据用户的需求而设计的一些用户自定义的图形界面成分。它不能响应用户的动作,没有交互功能第8章图形用户界面§8.2用户自定义成分用户自定义成分主要是一些几何图形。经常要用到Graphics类的一些方法drawLine(开始坐标[列,行],结束坐标[列,行])drawRect()、fillRect()、drawRoundRect()drawOval()、fillOval()一、绘制图形图形绘制举例第8章图形用户界面二、显示文字Font类可以获得各种字体的显示效果publicFont(Stringname,intstyle,intsize)FontMyFont=newFont(“Tahoma”,Font.BOLD,12)g.setFont(MyFont)g.getFont()返回当前字体显示文字举例一显示文字举例二第8章图形用户界面三、控制颜色利用Color类的对象对颜色进行控制PublicColor(intRed,intGreen,intBlue);PublicColor(floatRed,floatGreen,floatBlue);PublicColor(intRGB);1、每个R、G、B参数的取值范围在0~255之间2、每个R、G、B参数的取值范围在0.0~1.0之间3、参数RGB0x000000例:ColorblueColor=newColor(0x0000ff)g.setColor(blueColor)第8章图形用户界面三、显示图像显示图像示例四、实现动画效果实现动画效果示例第8章图形用户界面§8.3Java的事件处理1、Java中的事件系统预先定义好的操作、变化和动作构成了Java事件鼠标、键盘操作、系统状态的改变、标准图形界面元素上的动作及变化构成了Java事件2、事件源每个可能产生事件的组件被称为事件源,不同事件源上发生的事件的种类不同第8章图形用户界面3、事件的注册如要求事件源上发生的事件被程序处理,就应该将事件源注册给能够处理该事件的监听者(器)。格式:Source.addXXXListener(监听器对象)例:btn.addActionListener(this)4、事件的处理当事件源上发生了监听者可以处理的事件时,事件源将这个事件作为实际参数传递给监听者中处理该事件的方法对事件进行处理事件委托模型事件类和监听者接口第8章图形用户界面§8.4标签、按钮与动作事件1、标签(Label)◆用户不能修改只能查看其内容的文本显示区域,起到信息说明的作用◆每个标签用一个Label对象表示⑴创建标签Labelprompt=newLabel(“请输入一个整数”)⑵常用方法:setText():为标签设置新字符串getText():获取标签上的字符串第8章图形用户界面⑶产生的事件标签不能接收用户的输入,不能引发事件2、按钮(Button)它对应一个事先定义好的操作,完成预先指定的功能⑴创建Buttonenter=newButton(“操作”)⑵常用方法:getLabel():返回按钮标签字符串setLabel(Strings):设置按钮标签的字符串第8章图形用户界面⑶产生的事件按钮可以引发动作事件。响应动作事件步骤:A)将按钮注册给实现了ActionListener接口的动作事件监听器B)写出该接口actionPerformed(ActionEvente)的方法体。其中,经常用到的方法有:e.getSource();e.getActionCommand();举例:7-6第8章图形用户界面3、动作事件(ActionEvent)ActionEvent类只包含一个事件-执行动作事件:ACTION_PERFORMED。它是引发某个动作执行的事件能触发ACTION_PERFORMED事件的动作有:◆点击按钮◆双击一个列表中的选项◆选择菜单项◆在文本框中输入回车第8章图形用户界面ActionEvent类的重要方法有:⑴publicStringgetActionCommand()此方法返回引发事件的动作命令名。而这个命令名可以通过调用setActionCommand()方法指定给事件源组件getActionCommand()方法应用举例注意:◆getActionCommand()是ActionEvent类的方法,而setActionCommand()是事件源(按钮、文本框等)的方法第8章图形用户界面◆按钮的缺省命令名就是按钮的标签。(举例)◆一般情况下,提倡使用命令名⑵publicintgetModifiers()获得用户在发生动作事件的同时还按了哪个功能键(Ctrl、Shift、Alt)ActionEvent的相关静态常量ALT_MASK、CTRL_MASK、SHIFT_MASK第8章图形用户界面§8.5文本框、文本区域与文本事件1、文本事件(TextEvent)TextEvent只包括一个事件-代表文本区域中文本变化的事件TEXT_VALUE_CHANGED2、文本框和文本区域单行文本框:TextField;多行文本框:TextArea它们是TextComponent的子类⑴创建TextAreaT1=newTextArea(“文字”,行,列)TextFieldT2=newTextField(“文字”,字符数)第8章图形用户界面⑵常用方法TextComponent常用方法:getText():返回一个字符串setText(Strings):为文本区域设置字符串setEditable(booleanb):设置编辑状态各种“选定状态”的方法TextField的方法:setEchoChar(Charch):设置回显的方法TextArea的方法:appent(Strings)、insert(Strings,intindex)第8章图形用户界面⑶事件响应TextComponent可以引发TextEvent对象的TEXT_VALUE_CHANGED事件(TextField与TextArea都具有此事件)事件响应的方法publicvoidtextValueChanged(TextEvente)TextField还具有ActionEvent事件文本事件举例文本事件举例:选定状态第8章图形用户界面§8.6单、复选按钮、列表与选择事件1、选择事件(ItemEvent)ItemEvent只包含一个事件。它代表选中状态发生变化的事件-ITEM_STATE_CHANGED引发事件的动作:◆改变列表类List对象选项的选中或不选中状态◆改变下拉列表类Choice对象选项的选择状态◆改变复选按钮类Checkbox对象的选择状态◆改变检测盒菜单项CheckboxMenuItem对象的选择状态第8章图形用户界面ItemEvent类的主要方法:★publicItemSelectablegetItemSelectable()返回引发选中状态变化事件的事件源(对象引用)★publicObjectgetItem()返回引发选中状态变化事件的具体选项。★publicintgetStateChange()返回具体的选中状态变化类型,它的返回值是ItemEvent类的静态常量:◆ItemEvent.SELECTED:代表选项被选中◆ItemEvent.DESELECTED:代表选项被放弃不选第8章图形用户界面2、复选按钮(Checkbox)⑴创建Checkboxbackg=newCheckbox(“背景色”)⑵常用方法每个复选按钮均有两种状态:check/uncheckgetState():返回复选按钮的状态(true/false)setState():设置复选按钮的状态(true/false)⑶事件响应复选按钮的状态发生变化时,会引发ItemEvent类代表的选择事件第8章图形用户界面事件响应的方法publicvoiditemStateChanged(ItemEvente)该方法中处理事件响应的步骤:◆获得事件源对象:e.getItemSelectable()◆获得当前事件源的状态:e.getState()((Checkbox)e.getItemSelectable()).getState()复选按钮举例复选按钮举例第8章图形用户界面3、单选按钮组(CheckboxGroup)⑴创建CheckboxGroupstyle=newCheckboxGroup();Checkboxp,b,i;p=newCheckbox(“普通”,true,style);b=newCheckbox(“黑体”,false,style);i=newCheckbox(“斜体”,false,style);单选按钮组可以实现“多选一”,它是一组复选按钮(Checkbox)的集合,用CheckboxGroup类的对象表示.⑵常用方法getSelectedCheckbox():返回用户选择的按钮setSelectedCheckbox():设置指定的按钮为选中还可以使用Checkbox的方法⑶事件响应CheckboxGroup类是Object的直接子类,所以按钮组不能响应事件。但组中每个按钮可以响应ItemEvent事件单选按钮组示例:7-9单选按钮组举例第8章图形用户界面第8章图形用户界面4、下拉列表(Choice)⑴创建:分创建和添加选项两步Choicec=newChoice();c.add(“字符串”);c.addItem(“字符串”);⑵常用方法getSelectedIndex():返回被选中的选项序号getSelectedItem():返回被选中选项的字符串select(intindex):选中指定的序号select(Stringitem):选中指定的文本内容第8章图形用户界面add(Stringitem);insert(Stringitem,intindex);remove(intindex);remove(Stringitem);removeAll();⑶事件响应产生ItemEvent代表的选项事件;其事件的响应方法为:publicvoiditemStateChanged(ItemEvente)下拉列表举例下拉列表举例第8章图形用户界面5、列表(List)⑴创建:分创建和添加选项两步Listl=newList(rows,booleanb);l.add(“字符串”);c.addItem(“字符串”);⑵常用方法getSelectedIndex():返回被选中的选项序号getSelectedIndexs():返回被选中的选项序号数组getSelectedItem():返回被选中选项的字符串getSelectedItems():返回被选中选项的字符串数组第8章图形用户界面select(intindex);deselect(intindex);add(Stringitem);add(Stringitem,intindex);remove(

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功