La clase java.awt.Image representa la imagen, que se puede crear desde una fuente estática (archivo gif, jpeg, etc.) o desde una fuente dinámica (un stream de video). Aquí nos referimos a un archivo. El problema de cargar la imagen del archivo se circunscribe a dos pasos:
El código fuente se reduce a dos líneas:
Image cargar_imagen( String archivo ) {
try {
URL url = new URL( getCodeBase().toString()+archivo );
return getImage( url );
}
catch (MalformedURLException mue) {
....
Para pintar la imagen gestionamos el evento Paint. Cada vez que el sistema Java llame a este método se pinta la imagen con drawImage():
/*** Pinto la imagen centrada ***/
public void paint(Graphics g) {
Rectangle rec = g.getClipBounds();
int ancho_imagen = imagen.getWidth( this );
int alto_imagen = imagen.getHeight( this );
g.drawImage( imagen, rec.width/2 - ancho_imagen/2, rec.height/2 - alto_imagen/2, this );
}
A continuación se puede ver el applet:
Tiene acceso al código fuente