日期:2014-05-17  浏览次数:20685 次

帮助看看这个JAVA动画小程序为什么看不到东西?
代码如下:

import java.applet.*;
import java.awt.*;

public class gifanime extends Applet implements Runnable {

  int img_index = 0;
  Thread anime = null;

  String img_names[] = {"java1.gif", "java2.gif", "java3.gif",
  "java4.gif", "java5.gif", "java6.gif"};

  Image java_img[] = new Image[6];

  public void init()
  {
  for (int i = 0; i < 6; i++) 
  java_img[i] = getImage (getCodeBase(), img_names[i]);
  }

  public void start()
  {
  if (anime == null)
  {
  anime = new Thread(this);
  anime.start();
  }
  }

  public void paint (Graphics g)
  {
  g.drawImage (java_img[img_index], 0, 0, this);
  }  

  public void run()
  {
  while (anime != null)
  {
  img_index++;

  if (img_index > 5)
  img_index = 0;

  repaint();

  try {
  Thread.sleep (200);
  } 
  catch (InterruptedException e) {};
  }
  }
  }

【注】程序源码是现成复制来的,用javac编译顺利通过,用appletviewer看包含其class的html网页也报小程序已启动,就是什么也不看见。


------解决方案--------------------
{
g.drawImage (java_img[img_index], 0, 0, this);
}

改改坐标
------解决方案--------------------
好像是找不到路径、你的java1.gif路径指全了么
drawImage image为null的话 不会执行的、
------解决方案--------------------
getImage (getCodeBase(), img_names[i]);
URL和String
是初始化图片、
------解决方案--------------------
试着在paint方法调用这个。

Java code
private void  paintMyImage(Graphics g){
   Image java1.gif = Image.createImage("/res/img.png");
   g.drawImage(java1.gif, 0, 0, Graphics.TOP);
}