摘 要 本文论述了在用java开发基于web的程序时,通常需要把本机上的图像或者是其他 网络 地址上的图像文件加载到web页面上,可以通过applet引用接口和包来加载图像
关键词 :applet html java接口和包 url
一.在 applet 中显示图像不但需要引入image 和net包,还需要调用image包中的imageobserver接口
import java.awt.image.*;
import java.net.url;
import java.awt.image.imageobserver;
public class myapplet extends applet implements imageobserver { ...
二.要使applet能识别图像的位置就必须定义图像路径(如果图像文件在当前applet程序的目录下,只需要直接加载图像文件即可)
url imgurl = getdocumentbase();
将路径设为和你的html文件在相同。
url imgurl = getclassbase();
将路径设为和你的html文件在相同。
三.在完成图像路径的设置后,就可以通过getimage()函数来获取图像
img = getimage(imgurl,imgname);
当然,有可能你想将自己的图像文件放到一个目录里去,那么你可以这样做
img = getimage(imgurl, "img" + imgname);
四.这样就可以通过drawimage()函数来在applet中显示图像
最基本 方法 是调用 drawimage(),这个方法在graphics类中有定义,最简单的调用形式如下:
g.drawimage(image, xposition, yposition, this);
最后一个参数呼叫了imageobserver.
五.最后的补充
以上所说的都是最典型的加载图像的方法,如果遇到图像文件很大时,就必须对图像文件进行压缩处理,当然有时候你甚至想把你的图像文件打成jar包,这时,你就需要用到 getresourceasstream() 方法了。
inputstream inobject = getclass().getresourceasstream("image.gif");
byte buffer[] = new byte[inobject.available()];
for (int j = 0; n = in.available(); j < n; j ++)
buffer[j] = (byte)in.read();
image img = createimage(buffer);
六.通过一个典型的小程序演示以上在applet中通过imageobserver接口来实现加载一个图像
import java.awt.*;
import java.applet.*;
import java.net.url;
import java.awt.image.*;
import java.awt.image.imageobserver;
//使用imageobserver接口
public class myapp extends applet implements imageobserver{
image img;
string imgpath = "";
int xpoint = 50, ypoint = 50;
public void init() {
setbackground(color.red); //设置背景颜色
setforeground(color.green); //设置前景颜色
imgpath = "img/" + "example.gif"; //设置图像文件路径
}
public void paint(graphics g) {
url imgurl = getdocumentbase();
img = getimage(imgurl, imgpath);
七 结束语
随着网络的 发展 ,其功能日趋强大,对网页的包装的要求也是越来越高,而java无疑是网络编程最好的工具,利用java中的applet在html中加载一些丰富精美的图像就会给静态的html网页增加一些活力,那么展现在用户面前的就是一个个生动的页面.
参考 文献
1 <<think in java>> bruce eckel(美) 著 侯捷 译
2 <<java 应用 设计>> 宋波 董晓梅