网站大量收购独家精品文档,联系QQ:2885784924

第8章图形用户界面编程.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章图形用户界面编程概要

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 8.3 简单多媒体技术 8.3.2 图形 java.awt.Graphics类是Java语言中最基本也是最重要的处理图形的类,包含了大量的图形、文本和图像的操作方法,可以绘制出线、文字、几何形状等图形。编写处理图形、本文、图像的程序时,必须先把该类导入到Java程序中。 Graphics类的使用方法比较特殊,当在屏幕上绘制图形等时,并不需要直接使用new关键字来创建一个该类的对象实例,而是需要一个画板,它在这个画板上直接进行各种各样的画图操作即可,而画板必须是一个实体。所有Java组件都具有一个getGraphics()方法,该方法能返回一个图形对象,这样就可以在所有的Java组件上进行画图操作了。其实每个Java组件(java.awt.Component类及其子孙类的对象)就是前面提到的画板。而在Java小应用程序中,需使用java.awt.Applet类的paint()方法绘图,系统直接将生成好的Graphics对象通过参数形式传给paint()方法,在该方法中使用Graphics对象的引用即可绘图,即可继承Applet类,在该类的paint()方法中直接用系统传递进的Graphics对象引用绘图。当然,该方法对于Java组件也适用,而且绘图过程更简单稳定,如例8-14所示。 8.3 简单多媒体技术 【例8-14】使用paint()方法绘图示例的源代码。 运行结果如图 在上例中自定义的DrawPanel类继承自JPanel类,并重载了paint()方法,在该方法中使用系统传入的Graphics对象g绘制图形。下面是绘制图形时需要注意的几点: (1)绘制图形前需指定图形所用的颜色。 (2) 绘制文字前可指定字体。 (3)绘制图形时应正确使用绘图方法。 图8-17 例8-14的运行界面 8.3 简单多媒体技术 8.3.3 图像 显示图像需要两个步骤:加载图像数据和显示图像。 (1)获取图像数据。 对于Java小应用程序,可用java.applet.Applet类的getImage(URL url, String name)方法装载,返回值是一个Image类对象;对于普通的GUI程序,可以用javax.imageio包中的类处理图像的读写问题,一般来说,可用ImageIO类的read(File file)方法直接装入一个图片文件。其中,getImage()方法中第一个参数为图像文件的URL地址,与8.3.1小节获取音频文件URL地址一样,可用Applet类的getCodeBase()和getDocumentBase()方法通过相对路径获取图像数据,而第二个参数为*.gif和*.jpg的图像文件名字符串;对于ImageIO类的read()方法有4种形式,可以直接传入一个File对象或URL对象等。 另外,Image类封装了图像的信息,并提供获取图像有关信息的方法,以便得到有关图像的属性,如用getHeight(ImageObserver observer)获取图像的高度,用getWidth(ImageObserver observer)获取图像的宽度。 8.3 简单多媒体技术 (2)显示图像 Graphics类的drawImage()方法可用于显示图像,该方法的具体定义如下: drawImage(Image img,int x,int y[,int width,int height] [,Color bgcolor], ImageObserver observer); 其中,img是要显示的图像文件,(x,y)是指定显示位置的左上角坐标,width和 height分别为显示图像区域的宽和高,bgcolor为图像的背景颜色,observer是跟踪图像下载情况的ImageObserver型参数,在调用异步方法时,应指定这一参数用于调用它的imageUpdate()方法对下载的图像不断更新。 【例8-15】使用Image示例的源代码。 运行界面如图 图8-18 例8-15的运行界面 8.3 简单多媒体技术 需要注意的是加载图片往往需要一定的时间,在尚未完全准备好时就显示图像会引起画面闪烁。例如,从网络加载或同时加载几个图片时,并不会立刻或同时显示出图片,而会从顶部慢慢开始显示,整个画面会伴随着强烈的闪烁。为了解决这个问题,Java提供了一个能自动追踪一个或多个图片装载进度的类,即java.awt.MediaTracker类。 使用MediaTracker类的最简单方法是在创建该类的实例后调用addIm

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档