Carga de imágenes en un applet

Morway
29 de Septiembre del 2003
Estoy haciendo un applet al cual se le llama desde una web enviándole el nombre de la imagen que debe cargar. El problema es que la primera imagen, la que defino en init() me la carga, pero el resto no. A ver si alguien me puede comentar que es lo que falla. Muchas gracias de antemano

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;

public class prueba extends Applet {
Image img;


public void init() {
super.init();
setBackground(Color.black);
URL cb = getCodeBase();
img=getImage(cb,"Foto-0.jpg");
}

public void paint(Graphics g) {
g.drawImage(img,0,0,this);
}

public void setImage(String nombre){
URL cb = getCodeBase();
img = getImage(cb,nombre);
repaint();
}
}

jhon castro
29 de Septiembre del 2003

Bien lo que pasa es que cuando cargas una image a través de un applet solo puede llamar las funciones de carga en el init, lo que tienes que hacer es crear un ImageIcon, reservarles memoria y después igualarla a la image es algo asi

URL cb = getCodeBase();
ImageIcon ima = new ImageIcon(cb),
Img = ima.getImage();

Y listo puede invocar donde quieras
Osea
public void setImage(String nombre){
URL cb = getCodeBase();
ImageIcon ima = new ImageIcon(cb),
Img = ima.getImage();
repaint();
}

bien espero que te ayude suerte.