进玉无法加载图像【在Java中如何利用Applet来加载图像】

发布时间:2019-10-08 08:17:13   来源:行业经济    点击:   
字号:
摘要本文论述了在用java开发基于web的程序时,通常需要把本机上的图像或者是其他 网络 地址上的图像文件加载到web页面上,可以通过applet引用接口和包来加载图像

关键词:applethtmljava接口和包url

一.在applet中显示图像不但需要引入image和net包,还需要调用image包中的imageobserver接口

importjava.awt.image.*;

importjava.net.url;

importjava.awt.image.imageobserver;

publicclassmyappletextendsappletimplementsimageobserver{...

二.要使applet能识别图像的位置就必须定义图像路径(如果图像文件在当前applet程序的目录下,只需要直接加载图像文件即可)

urlimgurl=getdocumentbase();

将路径设为和你的html文件在相同。wWW.11665.cOm

urlimgurl=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()方法了。

inputstreaminobject=getclass().getresourceasstream("image.gif");

bytebuffer[]=newbyte[inobject.available()];

for(intj=0;n=in.available();j<n;j++)

buffer[j]=(byte)in.read();

imageimg=createimage(buffer);

六.通过一个典型的小程序演示以上在applet中通过imageobserver接口来实现加载一个图像

importjava.awt.*;

importjava.applet.*;

importjava.net.url;

importjava.awt.image.*;

importjava.awt.image.imageobserver;

//使用imageobserver接口

publicclassmyappextendsappletimplementsimageobserver{

imageimg;

stringimgpath="";

intxpoint=50,ypoint=50;

publicvoidinit(){

setbackground(color.red);//设置背景颜色

setforeground(color.green);//设置前景颜色

imgpath="img/"+"example.gif";//设置图像文件路径

}

publicvoidpaint(graphicsg){

urlimgurl=getdocumentbase();

img=getimage(imgurl,imgpath);

七结束语

随着网络的 发展 ,其功能日趋强大,对网页的包装的要求也是越来越高,而java无疑是网络编程最好的工具,利用java中的applet在html中加载一些丰富精美的图像就会给静态的html网页增加一些活力,那么展现在用户面前的就是一个个生动的页面.

参考 文献

1<<thinkinjava>>puceeckel(美)著侯捷译

2<<java 应用 设计>>宋波董晓梅