Falta la imagen del applet

Hola de nuevo miembros de Stackoverflow,

Se supone que la clase CatchTheCreature Applet muestra una imagen que se vuelve a pintar en diferentes ubicaciones por un retraso, pero por alguna razón la imagen no se muestra.

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)) { 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(); } 

}

Este es mi archivo html

    

Si alguien me puede decir cómo puedo mostrar el ícono de la imagen en el applet, estaría muy agradecido.

Gracias

..image = new ImageIcon (“Monster.png”);

  • El constructor basado en String a ImageIcon presupone la String para representar un File .
  • Un applet en caja de arena no puede acceder a los objetos de File , pero puede acceder a las URL procedentes de la misma base de código / base de documentos.
  • Utilice getDocumentBase() / getCodeBase() con una ruta relativa a la imagen, y el applet será portable (suponiendo que la imagen también se cargue en el mismo lugar).