当前位置:  技术问答>java相关

Applet中,drawImage返回flase,不能正常显示,如何解决?

    来源: 互联网  发布时间:2015-04-22

    本文导语:  我Applet中不断调用一个函数  该函数中用Graphics::drawImage显示图片,如下示        boolean b=false;  b=g.drawImage(imgError,thex(i),they(j),this);  在开始的一段时间内返回值b经常会是false,导致显示不正常,  这是为什么?有...

我Applet中不断调用一个函数 
该函数中用Graphics::drawImage显示图片,如下示 
     
boolean b=false; 
b=g.drawImage(imgError,thex(i),they(j),this); 

在开始的一段时间内返回值b经常会是false,导致显示不正常, 
这是为什么?有什么办法解决确保在开始的一段时间内也正常显示呢? 

但是,只要显示一段时间后,
^^^^
即该函数被调用若干次后返回值b就会一直是true,再也不会返回false了。

|
当drawImage这个方法中的图片没有被完全加载的时候,
这个方法会返回false。
drawImage方法是在调用的时候才加载所需要的图片,所以第一次调用的时候,图片没有被完全加载,造成显示的不正常,甚至不显示图片,此后,图片由于方法调用被加载,以后再以这幅图片为参数的时候,就可以正常显示了。
解决方案:使用MediaTracker类
Image img = Toolkit.getDefaultToolkit().getImage(imgPath);
MediaTracker t = new MediaTracker(this);
t.addImage(img, 0);
t.waitForAll();
将这段代码在drawImage()之前调用,MediaTracker可以确保你的图片在DRAW前被加载以备使用。通过addImage方法加入一个Image并符上一个ID号,waitForAll()等待加入的所有图片被加载完毕。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Applet对本地资源是不能访问的,那如果我要用Applet做打印设计,那如何是好呢??
  • applet与jsp通讯问题:applet为何不能正确显示网页?
  • 这个Applet程序为什么不能在网页中运行?提示找不到Java.awt.*;Java.applet.*;
  • 难道applet不能用socket?
  • 请问一下, 我用applet和服务器socket通信, 是不是不能用IE浏览运行我的applet程序?
  • applet小问题,我却不能搞定
  • Applet中包含Swing组件而不能正确绘画如何解决?
  • JBuilder编的Applet为何不能在IE中正确使用?
  • 用JBUILDER做出的applet好象不能用
  • 为什么applet&servlet不能都放在classes目录中
  • Applet能作什么,不能作什么,送分了
  • TMD奇怪,HTM和APPLET不在一个目录下的话,指定PATH就不能运行了?:-(
  • applet 苦恼阿!ie 中为什么不能初始化 毕不了业了
  • 为什么我的explorer不能显示applet?
  • 用jbuilder开发的applet不能在IE中直接运行,为什么?
  • 使用Applet能不能实现基于浏览器的打印呢???
  • 为什么vj++6.0 的applet不能用?
  • Applet中JTable不能自动调整列宽?
  • applet不能用?
  • 我用Java写的Applet为什么不能显示中文?
  • java命名空间java.applet类applet的类成员方法: applet定义及介绍
  • 如何让Applet里的控件随着Applet大小改变而一直占满整个Applet呢?
  • java命名空间java.applet类applet.accessibleapplet的类成员方法: applet.accessibleapplet定义及介绍
  • 对applet坐数字签名后,如果重新用jar对applet打包,需要重新做applet数字签名吗?
  • java命名空间java.applet类applet的类成员方法: getappletcontext定义及介绍
  • 为什么我的applet编译完,之后除了applet1.class之外,还有一个applet$1.class?
  • java命名空间java.applet类applet的类成员方法: getappletinfo定义及介绍
  • 急,我想问一下调用一个对话框的命令语句,比方说我已建立了一个Applet2,接下来该如何在Applet1中点击一个按钮来打开这个Applet2.谢谢
  • java命名空间java.applet类applet的类成员方法: isactive定义及介绍
  • 如何让IE认识applet所带的数字签名,而不是让证书仓库认识这个带数字签名的applet,就是说不装jdk也可以在IE里面使用带有签名的applet,详情请进
  • java命名空间java.applet类applet的类成员方法: stop定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3