Java高级程序设计
Java高 级 程序 设计
? 第一部分
– 第一章 Java入门基础
– 第二章 异常
– 第三章 Java Applet类型
– 第四章 图形用户界面 GUI(一) ——AWT
– 第五章 Java中的事件处理机制
– 第六章 图形用户界面 GUI(二) ——Swing
Java高 级 程序 设计
– 第七章 多线程
– 第八章 I/O输入输出流
– 第九章 Java数据库连接( JDBC)
– 第十章 Java网络编程
? 第二部分
– 第一章 Java API
– 第二章 Java与多媒体
– 第三章 Java Bean基础
Java高级程序设计 Java与多媒体
第二章 Java与多媒体
? 2.1 Image类
– 2.1.1 图像类型
– 2.1.2 创建图像
– 2.1.3 加载图像
– 2.1.4 显示图像
– 2.1.5 在应用程序中显示图像
– 2.1.6 ImageIcon类
– 2.1.7 图像映射
Java高级程序设计 Java与多媒体
第二章 Java与多媒体
? 2.2 利用 Java播放动画
– 2.2.1 利用 Java播放动画
? 2.3 利用 Java播放幻灯片
– 2.3.1 利用 Java播放幻灯片
– 2.3.2 Applet中播放声音
Java高级程序设计 Java与多媒体
2.1 Image类
? 图像类型,
– Image类在 java,awt,image包中,为图像的显示与操作提
供了支持。
– 基于图像在网页中的重要应用,Java为它提供了广泛的支持,
允许图像受到程序控制,支持以上两种主要的图像格式:
GIF,JPEG,另外还支持可移植的网络图像( PNG)等格
式。
Java高级程序设计 Java与多媒体
2.1 Image类
? 创建图像,
– 类 Image是 abstract类,程序不能通过实例化类 Image类来创
建对象。
– 通过 java,awt的 Component类的一个叫做 createImage()的方
法来生成图像对象。
– CreateImage()方法有如下两种形式:
? Image createImage ( ImageProducer imgProd )
? Image createImage ( int width,int height )
? 第一种形式返回由 imgProd产生的图像,imgProd是一个实现
ImageProducer接口的类的对象。
? 第二种形式返回具有指定宽度和高度的空图像,
Java高级程序设计 Java与多媒体
2.1 Image类
? 加载图像,
– 加载图像,可以通过使用由 Applet类定义的 getImage()方法
来实现。它有如下形式:
? Image getImage(URL url)
? Image getImage(URL url,String imageName)
? Image getImage(getDocumentBase( ),String imageName)
? 第一种形式:参数 url设定的路径下的图像装入一个 Image类的对象。
? 第二种形式:参数 url所设定的路径下的图像装入一个以参数
imageName命名的 Image类的对象并将它返回。
? 第三种形式:在第 1个参数中,Applet类中的 getDocumentBase方法返
回一个 URL。
Java高级程序设计 Java与多媒体
2.1 Image类
? 显示图像,
– 可用 drawImage()方法来显示它,它是 Graphics类中的一员。
– 方法如下所示:
? boolean drawImage ( Image imgObj,int left,int top,
ImageObserver imgOb )
? 它显示了由 imgObj所传递的图像,其左上角由 left和 top指定。
? 通常,Imageobserver是程序用来显示图像的对象,我们可以称它为
图像监视器。
? 在显示那些需要从 Internet中长时间下载的大型图像时,这个参数就显
得很重要。
Java高级程序设计 Java与多媒体
2.1 Image类
? 显示图像,
– 使用上面的方法来绘制图像时,如果小程序的宽或高的设计
的不合理,可能就会出现 picture.jpg图像的某些部分未能绘制
到小程序中。
– 可以使用 drawImage()的另一个方法,如下所示:
? boolean drawImage ( Image imgObj,int left,int top,int
width,int height,ImageObserver imgOb )
? 其中 width和 height指定矩形的宽和高。使用该方法时,该图像会自动
按比例调整自身大小以便适应目标区域的尺寸。
? 如果不想图像有比例上的变化,在绘制之前可以通过 Image类提供的
方法获取被加载的图像的宽和高。
? Img.getHeight( this ); Img.getWidth( this );
Java高级程序设计 Java与多媒体
2.1 Image类
? 在应用程序中显示图像,
– 编写应用程序时使用 Frame,Frame类没有获取图像的方法。
– Java,awt包中有个抽象类 Toolkit,该类有一个获取图像的方
法 getImage( String s )。
– 每个组件都从它的父类继承了一个得到 Toolkit对象的方法
getToolkit(),该方法返回给调用者一个 Toolkit对象。
? 例,tool=getToolkit();
myimage=tool.getImage("apple.jpg");
Java高级程序设计 Java与多媒体
2.1 Image类
? ImageIcon类,
– 除了可使用 getImage来加载图像,还可以创建 ImageIcon对象,
然后用 paintIcon显示图像。类 ImageIcon不是 abstract类,可
以使用 new关键字来创建。
? 例,go1 = getImage ( getDocumentBase(),“go1.gif” );
go2 = new ImageIcon (,go2.gif” ) ;
– 可以使用 setIconImage(Image image)方法为 Frame对象设
置窗口左上角的图标 。
Java高级程序设计 Java与多媒体
2.1 Image类
? 图像映射,
– 图像映射是一种常见的用来创建交互式 Web页的技术。图像
映射是有热区的图像,用户可以单击热区来执行某项任务,
诸如在一个浏览器中加载另一个 Web页,在浏览器的状态区
域或工具提示中显示一条描述性消息。
– 见书上本章例2-6。
Java高级程序设计 Java与多媒体
2.1 Image类
? 图像映射,
– 图像映射是一种常见的用来创建交互式 Web页的技术。图像
映射是有热区的图像,用户可以单击热区来执行某项任务,
诸如在一个浏览器中加载另一个 Web页,在浏览器的状态区
域或工具提示中显示一条描述性消息。
– 见书上本章例2-6。
Java高级程序设计 Java与多媒体
2.2 利用 Java播放动画
? 利用 Java播放动画,
– 动画是一组在内容上只有微小变化的图片快速显示所造成的
一种错觉。
– 如何利用 Java图像和多线程技术使一系列图像成为动画 。
– 见本章例2-7
Java高级程序设计 Java与多媒体
2.3 利用 Java播放幻灯片
? 利用 Java播放幻灯片,
– 利用 Java程序实现幻灯片效果,用户只要单击鼠标就可变换
幻灯片了。这只需在程序中添加 mousePressed()事件就可以
实现该功能。
– 见本章例2-8
Java高级程序设计 Java与多媒体
2.3 利用 Java播放幻灯片
? Applet中播放声音,
– Java程序可以操作和播放音频剪辑。播放音频剪辑的声音引
擎支持多种音频文件格式,包括 Sun Audio文件格式(,au扩
展),Windows Wave文件格式(,wav扩展),Macintosh
AIFF文件格式(,aif或,aiff扩展)以及 Musical Instrument
Digital Interface( MIDI)文件格式(,mid或,rmi扩展),Au
格式是 Java早期惟一支持的音频格式 。
Java高级程序设计 Java与多媒体
2.3 利用 Java播放幻灯片
? Applet中播放声音,
– 两种最简单的方法是 Applet的 play方法和 AudioCilp接口的
play方法。
– Applet类的 play方法有以下两种形式:
? public void play ( URL location,String soundFileName )
? public void play ( URL soundURL )
Java高级程序设计 Java与多媒体
2.3 利用 Java播放幻灯片
? Applet中播放声音,
– 另外我们还可以使用 AudioCilp接口的 play方法,这种方法比
Applet的 play方法更灵活。 Applet可以用 AudioClip对象保存
音频,以便在程序执行期间重复使用它。
– 通过使用 Applet的一个静态的方法:
? newAudioClip(URL url,String name )
? 或 Applet类的实例方法:
? getAudioClip(Url url,String name)
– 可使用 loop( )方法循环播放音频剪辑,使用 stop( )方法停止
播放音频剪辑。见本章例2-9
Java高级程序设计 Java与多媒体
小结
? 掌握:
– 如何获取和显示图像
– 用一组连续图像创建动画、创建图像映射
– 用 AudioClip获取、播放、循环和停止声音
? 理解:
– Java媒体框架( JMF)
? 了解:
– Java多媒体 API参考