第9章 图形用户界面精选PPT.ppt
《第9章 图形用户界面精选PPT.ppt》由会员分享,可在线阅读,更多相关《第9章 图形用户界面精选PPT.ppt(107页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第9章图形用户界面第1页,本讲稿共107页Java的图形用户界面2主要内容4Java的GUI简介4自定义图形设计图形、文字、图象4Java的标准组件容器和组件GUI的布局4事件处理第2页,本讲稿共107页Java的图形用户界面3图形用户界面(GUI)4字符界面用字符串、命令行的方式与用户交互4图形用户界面:GraphicsUserInterface用直观的图形来表示数据用直观、方便的GUI标准组件来接收命令GUI组成成分的标准化使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户。第3页,本讲稿共10
2、7页Java的图形用户界面4用户界面设计原则4控制权在用户4界面与操作的风格一致性4宽容(容错)性4简洁与美观并重第4页,本讲稿共107页Java的图形用户界面5图形用户界面简介4图形用户界面的构成容器:布局、安排标准组件用户自定义成分4设计&实现图形用户界面的工作创建GUI各组成成分,并安排从属位置关系,根据具体需要对其进行排序,构成完整外观。定义GUI各成分对不同事件的响应,实现与用户的交互功能。第5页,本讲稿共107页Java的图形用户界面6界面构成容器用户自定义成分v容器是用来组织其他界面成分和元素的单元。一般一个图形用户界面对应一个复杂容器。如一窗口v标准组件是图形用户界面的最小单位
3、,它里面不再包含其他的成分。如单选按钮,文本框,菜单v用户自定义成分是指编程人员根据用户需要设计一些用户自定义的图形界面成分。如绘制几何图形标准组件第6页,本讲稿共107页Java的图形用户界面7界面元素4容器是用来组织其他界面成分和元素的单元。可以形成容器的层次,构筑复杂结构Window(Frame、Applet、Dialog)4组件是图形用户界面的基本单位,它里面不再包含其他的成分。GUI组件是图形用户界面标准化的结果。常用的组件有:选择类的:单选按钮、复选按钮、下拉列表;文字处理类的:文本框、文本区域命令类的:按钮、菜单等GUI组件的作用是完成与用户的交互。包括接收用户的命令、文本或选择
4、输入,向用户显示一段文本或一个图形等。第7页,本讲稿共107页Java的图形用户界面8界面元素4使用组件通常需要如下的步骤创建某组件类的对象,指定其大小等属性。使用某种布局策略,将该组件对象加入到某个容器中的某指定位置处。将该组件对象注册给它所能产生的事件对应的事件监听者,重载事件的处理方法,实现利用该组件对象与用户交互的功能。4用户自定义成分显示文字、绘制图形、显示图象不能像标准组件一样被系统识别和承认,只起装饰作用。不能响应用户的动作,不具有交互功能。第8页,本讲稿共107页Java的图形用户界面9图形用户界面(GUI)4Java的图形用户界面编程:为方便图形用户界面的开发,设计了专门的类
5、库来生成各种标准图形界面元素和处理图形界面的各种事件,这个用来生成图形界面的类库就是java.awt包。AWT是abstractwindowtoolkit抽象窗口工具集的缩写。AWT类库中的各种操作被定义在一个窗口中进行,开发人员用AWT开发出的图形用户界面可以适用于所有的平台系统。第9页,本讲稿共107页Java的图形用户界面10AWT包4AbstractWindowToolkit(抽象窗口工具集)提供各种构成GUI的标准构件。AWT类库中的各种操作被定义在一个窗口中进行的。抽取不同软硬件平台中所实现的窗口的公共特性。依赖于具体平台系统实现:显示效果可能不同。4提供与机器无关的基本GUI标准
6、组件选择类组件:单选按钮、复选框、下拉选单、列表框文字处理类组件:标签、文本框、编辑框。命令类组件:按钮、工具栏、菜单等。第10页,本讲稿共107页Java的图形用户界面11从一个简单窗口开始4创建GUI应用程序Frame必不可少它是带标题的顶层窗口,是构建应用程序图形界面的基础,它为应用程序实现人机交互提供了对话窗口4先来建一个空的窗口应用:Empty.java注意:一定要处理关闭窗口的事件第11页,本讲稿共107页Java的图形用户界面12import java.awt.*;/mustimporttouseGUI/mustextendsFrameinanapplicationpublicc
7、lassEmptyextends Frame/暂时采用1.0.2的事件处理方法,关闭窗口 publicbooleanhandleEvent(Eventevt)/根据Event类中参数evt的id值来判断发生事件的种类 if(evt.id=Event.WINDOW_DESTROY)System.exit(0);/return的返回值表示将余下的事件处理交给handleEvent()的父 /类处理,从而保证对事件的正常处理 returnsuper.handleEvent(evt);publicstaticvoidmain(Stringargs)Framef=new Empty();f.setSiz
8、e(300,200);f.setVisible(true);第12页,本讲稿共107页Java的图形用户界面13绘制用户自定义成分4用户自定义成分属于构成GUI的非标准部分无法响应用户事件一般仅仅起背景装饰、输出效果突出的作用4Java中的用户自定义成分显示文字绘制图形显示图片第13页,本讲稿共107页Java的图形用户界面14绘制用户自定义成分4一般在容器中(窗口)或画布上绘制。4利用Java.awt类库中的类及其方法绘制用户自定义的图形界面成分。4Graphics类包含很多绘制图形和文字的方法。4首先要获得Graphics类的实例,然后利用其方法绘制。4Graphics类的实例一般作为相关
9、方法的参数传递进来:paint(Graphicsg)4Java程序图形界面的坐标设置原点(0,0)X轴Y轴第14页,本讲稿共107页Java的图形用户界面15绘制图形及其相关方法4drawLine(x1,y1,x2,y2)/直线4drawRect(x,y,w,h)/矩形4drawOval(x,y,w,h)/圆或椭圆4fillOval(x,y,w,h)/实心圆或椭圆4drawPolygon(X坐标数组,Y坐标数组,顶点个数)/画多边形4drawArc(x,y,w,h,开始角度,弧度角度)4setColor(Colorc)/设置颜色4setFont(Fontf)/设置字体4getColor()4g
10、etFont()第15页,本讲稿共107页Java的图形用户界面16绘制图形及其相关方法4从(x1,y1)到(x2,y2)画直线drawLine(x1,y1,x2,y2)参数均为int4画弧线drawArc(x,y,w,h,)参数均为intx,y为绘制弧形的左上角的坐标;w,h为弧形的宽度和高度;为弧形的起始角,为弧形的弧度,为正,表顺时针方向;为负,表逆时针方向。4以(x,y)为左上角、w为宽度、h为高度画矩形drawRect(x,y,w,h)参数均为int4fillRect(x,y,w,h)、clearRect(x,y,w,h)第16页,本讲稿共107页Java的图形用户界面17绘制图形及
11、其相关方法4画圆或椭圆drawOval(x,y,w,h)x,y为绘制圆或椭圆的左上角的坐标,w,h确定了椭圆的宽度和高度4画实心圆或椭圆fillOval(x,y,w,h)4画多边形drawPolygon(X坐标数组,Y坐标数组,顶点个数)P.185第17页,本讲稿共107页Java的图形用户界面18绘制图形及其相关方法例子:sanmao.java第18页,本讲稿共107页Java的图形用户界面19/画头部,椭圆方法drawOvalg.setColor(Color.black);/setColor用来设置要使用的颜色 g.drawOval(40,40,120,150);./画头发,直线方法dra
12、wLine,画弧方法drawArcg.drawLine(100,10,100,60);g.drawArc(110,20,100,80,90,90);./画嘴巴,填充画弧方法fillArcg.fillArc(60,130,80,40,180,180);./画耳朵,填充椭圆方法fillOval,复制图形方法copyAreag.fillOval(25,92,15,30);g.copyArea(25,92,15,30,136,0);/拷贝某区域的图形至另一区域./画身体,多边形方法fillPolygong.fillPolygon(polygon_x,polygon_y,polygon_pt_num);
13、第19页,本讲稿共107页Java的图形用户界面20显示文字4字体显示效果类:Font一个Font类的对象表示了一种字体显示效果,包括字体类型、风格和字号。Fontmf=newFont(String字体,int风格,int字号);字体:TimesRoman,Courier,Arial等风格:三个常量Font.PLAIN,Font.BOLD,Font.ITALIC字号:字的大小(磅数)设置当前使用的字体:setFont(Fontfn)获取当前使用的字体:getFont()4例:UseFonts.java第20页,本讲稿共107页Java的图形用户界面21StringFontName=TimesR
14、oman,Courier,Arial;intFontStyle=Font.PLAIN,Font.BOLD,Font.ITALIC;StringStyleName=PLAIN,BOLD,ITALIC;publicvoidpaint(Graphicsg)for(inti=0;i3;i+)for(intj=0;j1)/双击时清除向量中各点m_vLocs.removeAllElements();else/单击时在向量中增加一点m_vLocs.addElement(e.getPoint();repaint();/重新绘制一次 classmoveextendsMouseMotionAdapter/鼠标移动
15、监听者类publicvoidmouseMoved(MouseEvente)/响应移动 m_CursorLoc=newPoint(e.getX(),e.getY();repaint();/重新绘制一次 第69页,本讲稿共107页Java的图形用户界面70事件类4ActionEvent类:属于动作事件,包括:点击按钮;双击一个列表中的选项;选择菜单项;在文本框中按回车。最典型的例子是:鼠标点击按钮所产生的事件,经ActionListener接口触发一连串动作,再由actionPerformed()方法完成这些动作。e.getSource()返回事件发生的对象(名)e.getActionComman
16、d()返回按扭名(动作事件的命令字符串)。4ActionListener接口publicvoidactionPerformed(ActionEvente)第70页,本讲稿共107页Java的图形用户界面71图形用户界面例importjava.awt.*;importjava.awt.event.*;publicclassapublicstaticvoidmain(Stringargs)MyFrameform1=newMyFrame();classMyFrameextendsFrameMyFrame()super(窗口标题);setSize(200,100);setFont(newFont(Ti
17、mesRoman,Font.BOLD,20);第71页,本讲稿共107页Java的图形用户界面72图形用户界面例setLayout(newFlowLayout();Buttonb=newButton(close);add(b);b.addActionListener(newBprocess();setVisible(true);classBprocessimplementsActionListenerpublicvoidactionPerformed(ActionEvente)System.exit(0);第72页,本讲稿共107页Java的图形用户界面73监听者类4某个类可以兼职也可以专职做
18、这件事(实现监听者接口)。4一个类若实现一个接口,必须实现接口的全部方法。例如:ActionListener接口只有一个方法:voidactionPerformed(ActionEvente)4实现接口的类可以是:一般类内部类匿名类第73页,本讲稿共107页Java的图形用户界面74事件处理有关问题4有哪些事件类(java.awt.event)?4每个事件类的监听者接口?4每个监听者接口规定的方法?4多方法的监听者接口的适配器(实现接口的抽象类)是什么?4组件的事件委托(注册)方法?第74页,本讲稿共107页Java的图形用户界面75窗口事件4关闭窗口框时引发WindowEvent事件4委托a
19、ddWindowListener(newWclose();4定义监听者类classWcloseimplementsWindowListenerpublicvoidwindowClosing(WindowEvente)System.exit(0);4WindowListener类有7个方法,必须都实现4WindowAdapter接收窗口事件的抽象适配器类,用空内容实现了WindowListener接口的所有方法4classWcloseextendsWindowAdapter第75页,本讲稿共107页Java的图形用户界面76ActionEvent动作事件4引发原因:单击按扭,双击列表框中选项,选
20、择菜单项,文本框中的回车4事件监听接口:ActionListener4接口方法:actionPerformed(ActionEvente)4组件注册该事件方法:addActionListener(监听者)第76页,本讲稿共107页Java的图形用户界面77TextEvent文本事件4引发原因:文本框或文本区域内容改变4事件监听接口:TextListener4接口方法:textValueChanged(TextEvente)4组件注册该事件方法:addTextListener(监听者)第77页,本讲稿共107页Java的图形用户界面78ItemEvent选择事件4引发原因:改变列表框中的选中项改
21、变复选框选中状态改变下拉选单的选中项4事件监听接口:ItemListener4接口方法:itemStateChanged(ItemEvente)4组件注册该事件方法:addItemListener(监听者)第78页,本讲稿共107页Java的图形用户界面79AdjustmentEvent调整事件4引发原因:操作滚动条改变滑块位置4事件监听接口:AdjustmentListener4接口方法:adjustmentValueChanged(AdjustmentEvente)4组件注册该事件方法:addAdjustmentListener(监听者)第79页,本讲稿共107页Java的图形用户界面80
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 图形用户界面精选PPT 图形 用户界面 精选 PPT
限制150内