站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题一个关于显示图像的问题

一个关于显示图像的问题

摘要: 一个关于显示图像的问题


import java.awt.*;
import java.applet.*;
public class showPicture extends Applet
{ Image pic1,pic2;
public void init()
{ resize(400,200);
pic1=getImage(getCodeBase(),-#34;littledog.jpeg-#34;);
pic2=getImage(getCodeBase(),-#34;cute dog.jpeg-#34;);
}
public void paint(Graphics g)
{ int h=pic1.getHeight(this);
int w=pic1.getWidth(this);
g.drawString(-#34;按原尺寸显示-#34;,10,15);
g.drawImage(pic1,10,30,w,h,this);
g.drawString(-#34;缩小一倍显示-#34;,110,15);
g.drawImage(pic1,100,30,w/2,h/2,this);
g.drawString(-#34;按原尺寸显示-#34;,200,15);
g.drawImage(pic2,200,30,pic2.getHeight(this),pic2.getWidth(this),this);
}
}
编译过了,但是最后不能显示图像文件,是什么原因呢,请指教


刚才帮你的测试了可以的

关键是:楼主有没有把那个CLASS文件和图片文件放在一块??

用JBuild时 .JAVA文件和.class不在一个文件夹下
所以应该把图片和.class放一起


我刚才试过!我可显示出来!你再试一下!


一楼的说得对!我刚才测试的时候是把图片和class放在一起的!若是不在一起就得在pic1=getImage(getCodeBase(),-#34;littledog.jpeg-#34;);这一句加上路径!它默认是在同一路径下!



我放在一个目录下的啊,但是还是不能显示,好怪异呀!


如果是和class文件放在一起,则用
pic1=getImage(getCodeBase(),-#34;littledog.jpeg-#34;);
如果是和html文件放在一起,则用
pic1=getImage(getDocumentBase(),-#34;littledog.jpeg-#34;);



放在一起是一方面,而最大的原因 是因为drawImage()方法是一个异步方法,当图片有可能还没有加载进来的时候己经返回了,所以你应该这么写
while(!g.drawImage(pic2,200,30,pic2.getHeight(this),pic2.getWidth(this),this) ;


mark!


↑返回目录
前一篇: 请教:一个类的方法调用另外一个类的方法,调用完毕后如何把结果值返回给原来的类呢?
后一篇: Java如何调用Window下的EXE应用程序