Java - Poner un gif en un "Canvas" en un applet.

 
Vista:

Poner un gif en un "Canvas" en un applet.

Publicado por FelipeR (2 intervenciones) el 08/12/2006 01:13:23
Buenas.

Estuve buscando ya varias respuestas a mi caso pero responen cosas que poco entiendo, tomé un código de un laberinto y lo estoy modificando.

Necesito colocar unos GIF sobre un laberinto el cual se dibuja en un Canvas que está en un applet. No sé mucho de esto, tengo lo siguiente:

import java.awt.*;
import java.applet.*;
import java.awt.image.*;//

class AreaLaberinto extends java.awt.Canvas{

Tengo entendido que toca crear una imagen dentro del init entonces hice esto se ve feo pero no se si hay una forma mejor:

class PapiHijo extends Applet{
Image hija;

public void init() {
hija = getImage(getCodeBase(), "hija.gif");
}
}
PapiHijo nena;

Ahora viene el método "paint" donde está el código para pintar el laberinto al final intento poner la imagen en algún lado con "graphics.drawImage". Pero no funciona:

public void paint(java.awt.Graphics graphics) {
// super.paint(graphics);

java.awt.Color color;
color=graphics.getColor();
graphics.setColor(Color.blue);
graphics.drawRect(9,9,getSize().width-20,getSize().height-20);
graphics.setColor(java.awt.Color.red);
for(int i=0; i<120;i++)
for(int j=0; j<44;j++)
putvXY(i,j,graphics); graphics.fill3DRect(x1,y1,domx,domy,true);
//graphics.drawImage(nena.hija, 20, 10, 50, 50, this);
}

¿Cuál es el mejor método para que pueda poner la imagen en el "Canvas"?
¿Puedo evitar poner la clase PapiHijo?

Agradezco de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Poner un gif en un

Publicado por chuidiang (950 intervenciones) el 08/12/2006 16:19:30
Hola:

Haz lo siguiente. En el init() del Applet pon la carga de la imagen, instancia AreaLaberinto, pasale la imagen y metelo dentro el Canvas

init()
{
image = ...;
AreaLaberinto laberinto = new AreaLaberinto();
laberinto.setImage(image);
add(laberinto);
}

Por supuesto, quizás el método setImage() tengas que hacerlo en AreaLaberinto para pasarle la imagen, que se la guarde y sea la que use.

También es posible que la imagen no se encuentre y no se esté cargando. El fichero de imagen debe estar en el mismo sitio que la página html donde esté el applet.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Poner un gif en un

Publicado por FelipeR (2 intervenciones) el 09/12/2006 21:20:55
Voy a probar, el problema es que AreaLaberinto ya está instanciada y hay otras 4 clases en otros archivos relacionados.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar