Hola amigos luego de una ausencia(por motivos laborales) estoy de nuevo aqui para escribir un nuevo tema en esta ocaci’on vamos a crea un panel ue va a tener un aspecto semitransparente
El panel va a quedar de esta forma:
El codigo fuente para crearlo es package swingec.panel;
Nota la clase JPanelRound la podemos ver aqui:
import java.awt.AlphaComposite;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
/**
*
* @author Edisoncor
*/
public class JPanelTransparente extends JPanelRound{
private float tran= 0.8f;
public JPanelTransparente(){
}
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
AlphaComposite old = (AlphaComposite) g2.getComposite();
g2.setComposite(AlphaComposite.SrcOver.derive(getTran()));
super.paintComponent(g);
g2.setComposite(old);
}
public float getTran() {
return tran;
}
public void setTran(float tran) {
this.tran = tran;
}
}
Donde la variable tran representa el nivel de transparencia que se desea para el panel, tambien podemos observar
AlphaComposite old = (AlphaComposite) g2.getComposite(); que salve la composicion actual del panel, luego
g2.setComposite(AlphaComposite.SrcOver.derive(getTran())); le damos la nueva informacion para el panel, luego se llama a super.paintComponent(g); para que los componentes agregados se dibujen y por ultimo restauramos la composicion de Graphics con : g2.setComposite(old);
Tags: JPanel, Netbeans, Swing, translucido, transparente


![[del.icio.us]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/digg.png)
![[Google]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/google.png)
![[StumbleUpon]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/stumbleupon.png)
![[Windows Live]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/windowslive.png)
![[Yahoo!]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/yahoo.png)
![[Email]](http://edisoncor.mycsistemas.com/wp-content/plugins/bookmarkify/email.png)



Noviembre 26th, 2007 at 4:36 pm
[...] Comentarios (RSS) « Crear Un Panel transparente [...]
Enero 17th, 2008 at 1:12 pm
Hola me parece muy interesante tu ejemplo y me surgió una pregunta, ¿cómo se podría hacer que un jframe sea tranparente, que se puedan ver las palicaciones que hay detrás?
Febrero 7th, 2008 at 10:02 am
Hola. Me parece muy interesante lo que se publica….
Tengo varias preguntas…
¿Cómo se puede hacer para que un JFrame tenga el mismo aspecto que el JPanel, es decir, que tenga los bordes redondeados?
¿Cómo cambiar el aspecto de un JFrame para que, aparte de bordes redondeados, se elimine el aspecto de una ventana (que la barra de titulo desaparezca) y se pueda cambiar su aspecto?
Muchas gracias por este magnífico sitio web.
Febrero 25th, 2008 at 11:47 am
Como utilizo esta clase para colocar una clase quetiene un panel transparente, la verdad no la he podico utilizar …
me pueden colaborar ….
Gracias…!!
Febrero 25th, 2008 at 11:48 am
Como utilizo esta clase en JCreator para colocar un panel transparente, la verdad no la he podico utilizar …
me pueden colaborar ….
Gracias…!!
Febrero 28th, 2008 at 2:43 am
en esta linea sale q el metodo derive no existe, que debo hacer
g2.setComposite(AlphaComposite.SrcOver.derive(getTran()));