Carga de imágenes en un applet
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();
}
}
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();
}
}
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.
