【发布时间】:2014-12-16 18:41:29
【问题描述】:
我得到了在小程序中绘制图像的代码,但它是一个动画 gif,它在第一帧停止,就好像它是单个图像一样。
这应该是幽灵般可怕的骷髅在跳舞,但他只是站着不动。
这是我的代码:
import java.util.*;
import java.awt.*;
import java.applet.*;
import java.net.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;
public class Spooky extends Applet
{
Image scary, trumpet, walking;
MediaTracker mt;
AudioClip spoopy;
Graphics buffer;
Image offscreen;
Dimension dim;
public void init()
{
setLayout(null);
mt = new MediaTracker(this);
mt.addImage(scary,1);
mt.addImage(trumpet,1);
mt.addImage(walking,1);
spoopy = getAudioClip(getDocumentBase(),"spoopy.wav");
spoopy.loop();
}
public void paint(Graphics g)
{
try
{
URL url = this.getClass().getResource("spooky.gif");
BufferedImage img;
img = ImageIO.read(url);
mt.addImage(img,1);
g.drawImage(img,0,0,300,300,this);
}
catch(IOException e)
{
}
}
}
【问题讨论】:
-
1) 为什么要编写小程序?如果是老师指定的,请参考Why CS teachers should stop teaching Java applets。 2) 为什么使用 AWT?请参阅this answer 以了解放弃使用支持 Swing 的组件的 AWT 的许多充分理由。 3) 另见Show an animated BG in Swing。
标签: java image graphics awt gif