再次问一下Stackoverflow成员,
CatchTheCreature Applet类应该按时间延迟显示在不同位置重新绘制的图像,但由于某种原因,图像未显示。
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.Timer;
public class CatchTheCreature extends JApplet {
private int height = 300;
private int width = 600;
private final int delay = 1001;
private ImageIcon image;
private Timer timer;
private int x, y;
private int counter = 0;
Random gn = new Random();
public void init() {
DotListener dot = new DotListener();
addMouseListener(dot);
image = new ImageIcon("Monster.png");
timer = new Timer(delay, new timerListener());
x = 40;
y = 40;
getContentPane().setBackground(Color.black);
}
// Action Listener Methods
private class timerListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
x = gn.nextInt(width);
y = gn.nextInt(height);
repaint();
}
}
private class DotListener implements MouseListener {
public void mousePressed(MouseEvent event) {
}
@Override
public void mouseClicked(MouseEvent event) {
if (event.getX() > (x) && event.getX() < (x + 60)
&& event.getY() < (y + 60) && event.getY() > (y)) {
x = gn.nextInt(width);
y = gn.nextInt(height);
counter = counter + 1;
repaint();
}
}
@Override
public void mouseEntered(MouseEvent event) {
}
@Override
public void mouseExited(MouseEvent event) {
}
@Override
public void mouseReleased(MouseEvent event) {
}
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.yellow);
image.paintIcon(this, g, x, y);
g.drawString("Clicked accuratly: " + counter, 5, 15);
}
public void start() {
timer.start();
}
public void stop() {
timer.stop();
}
}
这是我的html文件
<applet code = CatchTheCreature width = 250 height = 300>
</applet>
如果有人能告诉我如何在小程序上显示图像图标,我将非常感激。
由于
答案 0 :(得分:1)
.. image = new ImageIcon(“Monster.png”);
String
的{{1}}构造函数假定ImageIcon
代表String
。File
个对象,但可以访问来自相同代码库/文档库的File
。URL
/ getDocumentBase()
与图片的相对路径,applet将是可移植的(假设图片也上传到同一个地方)。