Objeto canvas con fondo transparente !!!
Hola a todos,
Mi situacion es la siguiente tengo un panel dentro de un applet, y dentro del panel quiero poner una imagen de fondo, cosa que he hecho pintando la imagen en el metodo paint del panel con g.drawImage, el problema es que al añadir una serie de componentes canvas al panel, de los cuales algunos me gustaria que fueran transparentes y se viera la imagen que he dibujado y no el color de fondo del panel, que es lo que me hace.
Hay alguna manera de que los canvas sean transparentes, y por lo tanto me muestre la imagen que he dibujado en el panel ??
Al Objeto canvas le he intentado poner el fondo transparente mediante canval.setBackground(new Color(Color.BITMASK)) pero lo unico que me hace es volverme el fondo del objeto canvas negro.
Gracias y un saludo ...
Mi situacion es la siguiente tengo un panel dentro de un applet, y dentro del panel quiero poner una imagen de fondo, cosa que he hecho pintando la imagen en el metodo paint del panel con g.drawImage, el problema es que al añadir una serie de componentes canvas al panel, de los cuales algunos me gustaria que fueran transparentes y se viera la imagen que he dibujado y no el color de fondo del panel, que es lo que me hace.
Hay alguna manera de que los canvas sean transparentes, y por lo tanto me muestre la imagen que he dibujado en el panel ??
Al Objeto canvas le he intentado poner el fondo transparente mediante canval.setBackground(new Color(Color.BITMASK)) pero lo unico que me hace es volverme el fondo del objeto canvas negro.
Gracias y un saludo ...
Hola:
No te puedo dar una solución exacta porque no he probado, pero si una idea para que pruebes.
Todos los componentes java (incluido el canvas) tienes dos métodos: paint (Graphics) y update(Graphics).
Uno de ellos (yo creo que udate()) se encarga de borrar el componente y luego llamar a paint(), que es el que se encarga de dibujarlo.
Si heredas de canvas y redefines estos dos métodos para que no hagan nada (salvo hacer tu dibujo), quizás consigas que se mantenga el fondo del contenedor.
Haz pruebas a ver qué pasa.
Se bueno.
No te puedo dar una solución exacta porque no he probado, pero si una idea para que pruebes.
Todos los componentes java (incluido el canvas) tienes dos métodos: paint (Graphics) y update(Graphics).
Uno de ellos (yo creo que udate()) se encarga de borrar el componente y luego llamar a paint(), que es el que se encarga de dibujarlo.
Si heredas de canvas y redefines estos dos métodos para que no hagan nada (salvo hacer tu dibujo), quizás consigas que se mantenga el fondo del contenedor.
Haz pruebas a ver qué pasa.
Se bueno.
Gracias chuidiang pero aunque no dibujes nada en el canvas el lo que es el tamaño del lienzo lo dibujo, y yo lo que necesitaria hacer es que el lienzo del canvas fuera transparente, y con todo y eso no se si podre hacerlo por que al agregar un componente al panel , en la zona que ocupa digamos que me borra la imagen y muestra el color de fondo del panel .
un saludo ...
un saludo ...