Breves: Componentes Swing translúcidos
Ahora le toca el turno a la transparencia. Realizar componentes translúcidos es bastante sencillo. Podemos incluso a realizar efectos fade-in y fade-out jugando con la transparencia y un temporizador. Realmente no sé como afecta esto al rendimiento de la aplicación, porque no he llegado tan lejos.
El truco consiste en sobreescribir el método paintComponent() de la clase en cuestión y aplicar la transparencia antes de dibujar el componente:
@Override
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setComposite(AlphaComposite.SrcOver.derive(0.2f));
super.paintComponent(g);
}
Donde podemos jugar con el valor de alpha, 0.2f, para aplicar más o menos transparencia.
Tags
La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.
