Java - Generar Objeto Image de un GLJPanel

 
Vista:

Generar Objeto Image de un GLJPanel

Publicado por Casimiro (7 intervenciones) el 18/05/2010 16:48:22
Buenas, necesito generar un objeto Image o BufferedImage a partir de un GLJPanel (que extiende de JPanel). El hacerlo se como es, el problema es que la imagen casi nunca me la recupera bien, sale un tab de otra ventana, o me dibuja todo negro,... algunas veces si me la recupera bien, pero las menos :(. Supongo que sera mas problema de hardware, pero sabeis algun truco para consegir que recupere el GLJPanel correctamente y me realize la imagen perfecta???'

SAludos y gracias.
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

RE:Generar Objeto Image de un GLJPanel

Publicado por aitor (85 intervenciones) el 18/05/2010 20:16:00
mira si quieres el añadir al jPanel de un fodo yo te presto una clase que extiende de jPanel creada por mi y esta no falla. tienes que gastar el metodo setImagen();

public class JPanelConFondo extends JLayeredPane {

private Image imagen;

public JPanelConFondo() {
}

public JPanelConFondo(String nombreImagen) {
if (nombreImagen != null) {
imagen = new ImageIcon(getClass().getResource(nombreImagen)).getImage();
}
}

public JPanelConFondo(Image imagenInicial) {
if (imagenInicial != null) {
imagen = imagenInicial;
}
}

public void setImagen(String nombreImagen) {
if (nombreImagen != null) {
imagen = new ImageIcon(getClass().getResource(nombreImagen)).getImage();
} else {
imagen = null;
}

repaint();
}

public void setImagen(Image nuevaImagen) {
imagen = nuevaImagen;

repaint();
}

@Override
public void paint(Graphics g) {
if (imagen != null) {
g.drawImage(imagen, 0, 0, getWidth(), getHeight(), this);

setOpaque(false);
} else {
setOpaque(true);
}

super.paint(g);
}
}
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