开元周游
德国频道
查看: 1339|回复: 3
打印 上一主题 下一主题

哪位大虾能帮着看看程序???

[复制链接]
1#
发表于 22.7.2003 11:19:57 | 只看该作者
即时机票
import java.awt.*;<br>import java.applet.*;<br><br><br>public class BackgroundImage extends Applet {<br>        <br>        Image picture;<br>        boolean ImageLoaded=false;<br>        public void init() {<br>                <br>                picture=getImage(getCodeBase(),&quot;st1824.jpg&quot;);<br>                Image offScreenImage=createImage(size().width,size().height);<br>                Graphics offScreenGC=offScreenImage.getGraphics();<br>                offScreenGC.drawImage(picture,0,0,this);<br>        }<br><br>        public void paint(Graphics g) {<br>                <br>                if(ImageLoaded){<br>                        g.drawImage(picture,0,0,null);<br>                        showStatus(&quot;Done&quot;);<br>                }<br>                else<br>                showStatus(&quot;Loading image&quot;);<br>                <br>        }<br>        public boolean imageUpdate(Image img,int infoflags,int x,int y,int w,int h){<br>                <br>                if(infoflags==ALLBITS){<br>                        <br>                        ImageLoaded=true;<br>                        repaint();<br>                        return false;<br>                }<br>                        <br>                else<br>                return true;<br>        }<br>}<br><br><br><br><br><br>&lt;HTML&gt;<br>&lt;HEAD&gt;<br>&lt;/HEAD&gt;<br>&lt;BODY&gt;<br>&lt;CENTER&gt;<br>&lt;APPLET<br>        code        = &quot;BackgroundImage.class&quot;<br>        width        = &quot;1024&quot;<br>        height        = &quot;768&quot;<br>        &gt;<br>&lt;/APPLET&gt;<br>&lt;/CENTER&gt;<br>&lt;/BODY&gt;<br>&lt;/HTML&gt;<br><br><br>这是我从书上抄下来的使用双缓冲技术显示图象的程序,可是我在编译后,第一次运行没有问题,再次点击刷新就不显示图象了,哪位大虾能帮忙改一下程序?<br><br><br><br>
2#
匿名  发表于 22.7.2003 13:54:25
You should make a check to the Image whether is has been loaded or not. When you clikc the reload, it will not load the image again, because it has been loaded all.<br><br>The code is as follows, hope it will help you<br><br>import java.awt.*;<br>import java.applet.*;<br>import java.awt.image.ImageObserver;<br><br><br>public class Myown extends Applet implements ImageObserver<br>{<br><br>  Image picture;<br>  boolean ImageLoaded=false;<br>  public void init()<br>  {<br><br><b>    picture=getImage(getCodeBase(),&quot;summer.jpg&quot;);</b>    if(picture &#33;= null)<br>    {<br>      Image offScreenImage = createImage(getSize().width, getSize().height);<br>      Graphics offScreenGC = offScreenImage.getGraphics();<br>      offScreenGC.drawImage(picture, 0, 0, this);<br>      offScreenGC.finalize();<br><b>      if(checkImage(offScreenImage,this)==ALLBITS)<br>      {<br>        ImageLoaded = true;<br>      }<br>      else<br>        ImageLoaded = false;</b>    }<br>    else<br>      System.out.println(&quot;NULL source&quot;);<br>  }<br><br>  public void paint(Graphics g)<br>  {<br><br>    if(ImageLoaded)<br>    {<br>      g.drawImage(picture,0,0,this);<br>      showStatus(&quot;Done&quot;);<br>    }<br>    else<br>      showStatus(&quot;Loading image&quot;);<br><br>    g.dispose();<br>  }<br>  public boolean imageUpdate(Image img,int infoflags,int x,int y,int w,int h)<br>  {<br>    if(infoflags==ALLBITS)<br>    {<br><br>      ImageLoaded=true;<br>      repaint();<br>      return false;<br>    }<br><br>    else<br>      return true;<br>  }<br>}<br><br><br>
3#
匿名  发表于 22.7.2003 14:00:09
It is not necessary to implement the ImageOberver interface, I just made it for test<br><br>Viel Spa&szlig;&#33;
4#
匿名  发表于 22.7.2003 22:57:30
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点信息

站点统计| 举报| Archiver| 手机版| 小黑屋

Powered by Discuz! X3.2 © 2001-2014 Comsenz Inc.

GMT+1, 26.12.2024 05:21

关于我们|Apps

() 开元网

快速回复 返回顶部 返回列表