图形用户界面的设计与实现

上传人:san****019 文档编号:70599072 上传时间:2019-01-17 格式:PPT 页数:258 大小:2.57MB
返回 下载 相关 举报
 图形用户界面的设计与实现_第1页
第1页 / 共258页
 图形用户界面的设计与实现_第2页
第2页 / 共258页
 图形用户界面的设计与实现_第3页
第3页 / 共258页
 图形用户界面的设计与实现_第4页
第4页 / 共258页
 图形用户界面的设计与实现_第5页
第5页 / 共258页
点击查看更多>>
资源描述

《 图形用户界面的设计与实现》由会员分享,可在线阅读,更多相关《 图形用户界面的设计与实现(258页珍藏版)》请在金锄头文库上搜索。

1、第7章 图形用户界面的设计与实现,7.1 图形用户界面概述 7.2 用户自定义成分 7.3 Java的事件处理 7.4 GUI标准组件概述 7.5 标签、按钮与动作事件 7.6 文本框、文本区域与文本事件,7.7 单、复选按钮,列表与选择事件 7.8 滚动条与调整事件 7.9 画布与鼠标、键盘事件 7.10 布局设计 7.11 Panel与容器事件 7.12 Frame与窗口事件 7.13 菜单的定义与使用 7.14 对话框、组件事件与焦点事件,在Java语言中,为了支持图形用户界面的开发,设计了类库java.awt包来生成各种标准图形界面元素和处理图形界面的各种事件。AWT是abstract

2、 window toolkit(抽象窗口工具集)的缩写。,7.1 图形用户界面概述,图形用户界面的构成: 图形用户界面是一组图形界面成分和界面元素的有机组合,这些成分和元素之间不但外观上有着包含、相邻、相交等物理关系,内在的也有包含、调用等逻辑关系,它们互相作用、传递消息,共同组成一个能响应特定事件、具有一定功能的图形界面系统。,设计和实现图形用户界面的工作主要两个: 创建组成界面的各元素,指定它们的属性和位置关系,构成完整的图形用户界面的外观。 定义图形用户界面的事件和各界面元素对不同事件的响应,实现与用户的交互。 Java中构成图形用户界面的各种元素和成分有三类:容器、控制组件和用户自定义

3、成分。,1. 容器 容器是用来组织其他界面成分和元素的单元。一个应用程序的图形用户界面首先对应于一个复杂的容器,如一个窗口。 利用容器有利于分解图形用户界面的复杂性,当界面的功能较多时,可以使用嵌套的容器。,2. 控制组件 控制组件是图形用户界面的最小单位之一,它里面不再包含其他的成分。控制组件的作用是完成与用户的一次交互,包括接收用户的一个命令(如菜单命令),接收用户的一个文本或选择输入,向用户显示一段文本或一个图形,等等。,使用控制组件的步骤: (1) 创建某控件类对象,指定属性。 (2) 使用某种布局,将该控件对象加入到某容器中的指定位置。 (3) 将该组件对象注册给它所能产生的事件对应

4、的事件监听者,重载事件处理方法,实现利用该组件对象与用户交互的功能。 实际上,容器也是一种控件,因为一个容器也可以被视为组件而包含在其他容器的内部。,3. 用户自定义成分 绘制几何图形、使用标志图案等。用户自定义成分不能被系统识别和承认,通常只能起到装饰、美化的作用,而不能响应用户的动作,也不具有交互功能。,Graphics是java.awt包中一个类,包含绘制图形和文字的方法。当一个Applet运行时,执行它的浏览器自动为它创建一个Graphics实例,利用这个实例,可在Applet中随意绘制图形和文字。 若需在图形界面的Java Application程序中绘制图形,则需创建一个Canva

5、s类的对象加入到该Application程序的图形界面容器中,Canvas对象也有一个与Applet类的paint( )方法相同的paint( )方法,利用系统传递给这个paint( )方法的Graphics类参数对象就可以在Application程序的图形用户界面中绘制各种图形和文字。,7.2 用户自定义成分,7.2.1 绘制图形 利用Graphics类可绘制的图形有直线、各种矩形、多边形、圆和椭圆等。例 7-1 UsedDrawFigures .java,import java.awt.*; import java.applet.Applet; public class UsedDrawF

6、igures extends Applet public void paint ( Graphics g) g.drawLine(30,5,40,5); /画直线 g.drawRect(40,10,50,20); /画矩形框(左上角x坐标,左上角y坐标,x轴尺寸,y轴尺寸) g.fillRect(60,30,70,40); /画实心矩形 g.drawRoundRect(110,10,130,50,30,30); /画圆角矩形框 g.drawOval(150,120,70,40); /画椭圆形框(左上角x坐标,左上角y坐标,x轴尺寸,y轴尺寸), / 若x轴尺寸与y轴尺寸相等,则画出圆形,g.f

7、illOval(190,160,70,40); /画实心椭圆 g.drawOval(90,100,50,40); /画椭圆框 g.fillOval(130,100,50,40); /画实心椭圆 drawMyPolygon(g); /自定义的画多边形的方法 g.drawString(“They are figures!“,100,220); public void drawMyPolygon( Graphics g) int xCoords = 30,50,65,119,127; /保存多边形各点x坐标的数组 int yCoords = 100, 140,127,169,201; /保存多边形各

8、点y坐标的数组 g.drawPolygon( xCoords,yCoords,5); /画自由多边形框 ,7.2.2 显示文字 Graphics类的方法drawString( )可在屏幕的指定位置显示一个字符串。Font类,可获得更丰富多彩和逼真精确的字体显示效果。 一个Font类的对象表示了一种字体显示效果,包括字体、字型和字号。例如: Font MyFont = new Font ( “TimesRoman”, Font.BOLD, 12 ); MyFont对应的是12磅TimesRoman类型的黑体字,其中指定字型时需要用到Font类的三个常量:Font.PLAIN, Font.BOLD

9、, Font.ITALIC。,若需使用该Font对象,可利用Graphics类的setFont( )方法: g. setFont ( MyFont ); 若指定控件的字体效果,如按钮或文本框等,可使用控件的方法setFont( )。设btn是按钮对象,则语句: btn.setFont(MyFont);把该按钮上显示的字体改为12磅的TimesRoman黑体字。 getFont( )方法将返回当前Graphics或组件对象使用的字体。,例 7-2 AvailableFonts.java,import java.applet.*; import java.awt.*; public class A

10、vailableFont extends Applet GraphicsEnvironment gl = GraphicsEnvironment.getLocalGraphicsEnvironment( ); String FontNames = gl.getAvailableFontFamilyNames( ); public void paint(Graphics g) Font current,oldFont; oldFont = g.getFont( ); for(int i=0;iFontNames.length;i+) current = new Font(FontNames i,

11、Font.PLAIN,10); g.setFont(current); g.drawString(current.getName( ),10+i%4*120,20+i/4*15); g.setFont(oldFont); ,7.2.3 控制颜色 Applet中显示的字符串或图形的颜色可以用Color类的对象来控制,每个Color对象代表一种颜色,用户可以直接使用Color类中定义好的颜色常量,也可通过调配红、绿、蓝三色的比例创建自己的Color对象。,Color类定义了三种构造函数: public Color(int Red, int Green, int Blue); /整型参数指定R,G,

12、B的取值范围在0255之间 public Color(float Red, float Green, float Blue); /浮点参数R,G,B的取值范围在0.01.0之间 public Color(int RGB); /整型参数指明RGB三色比例,这个参数的07比特(取值范围为0255)代表红色的比例,815比特代表绿色的比例,1623比特代表蓝色的比例 例:创建蓝色: Color blueColor = new Color(0,0,255);,Graphics对象的setColor( ):把当前的缺省颜色修改成新建的颜色,此后调用该Graphics对象完成的绘制工作,如绘制图形、字符串

13、等,都使用这个新建颜色: g.setColor(blueColor); 除了创建自己的颜色,也可以直接使用Color类中定义好的颜色常量,如: g.setColor(Color.cyan); Color类中共定义了13种静态颜色常量,包括black,orange,pink,grey等,使用时只需以Color为前缀。,对于GUI的控制组件,它们有四个与颜色有关的方法分别用来设置和获取组件的背景色和前景色: public void setBackground(Color c) public Color getBackground( ) public void setForeground( ) pu

14、blic Color getForeground( ),import java.applet.*; import java.awt.*; public class MyUseColor extends Applet Color oldColor; String ParamName = “red“,“green“,“blue“; /三个HTML参数的名称 int RGBarray = new int3; /保存三色比例的数组 public void init( ) for(int i=0;iParamName.length;i+) /取得HTML文件指定的三色 RGBarrayi = Integ

15、er.parseInt(getParameter(ParamNamei); public void paint(Graphics g) oldColor = g.getColor( ); /保存原有的缺省颜色 g.setColor(new Color(RGBarray0,RGBarray1,RGBarray2); /置新颜色 g.drawString(“How do you think about Current color:“ + g.getColor( ).toString( ),10,20); /用新建颜色显示该颜色的三色分量 g.setColor(oldColor); /恢复原有颜色

16、g.drawString(“Back to old default color:“+ g.getColor( ).toString( ),10,40); ,例 7-3 UseColor.java,HTML文件如下: UseColor 通过改变三个参数的数值(应在0255之间),就可以指定不同的颜色而不需要重新编译Java Applet程序。,7.2.4 显示图像 图像文件有多种格式,如bmp文件、gif文件、tiff文件等等,其中gif是Internet上常用的图像文件格式。 Java中可以利用Graphics类的drawImage( )方法来显示图像。,import java.awt.*; import java.applet.Applet; public class UsedDrawMyImage

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号