Sí, esta pregunta está en todas partes. Pero todas las soluciones (de trabajo) utilizan AWTUtilities toolkit, que está restringido.Java: el viejo JFrame transparente, sin librerías restringidas
So. Solo quiero controlar la opacidad de mi ventana. No es necesario dar forma o sin decorar. Solo un contenido transparente (fácil) y un fondo JFrame transparente (ridículamente difícil).
Podría haber jurado que obtuve la combinación correcta de cosas ayer, pero ahora parece que no puedo reproducirlo. También hay algunas soluciones por ahí sin usar AWTUtilities, pero no funcionan ... ¿alguien tiene una buena solución?
Un ejemplo de mi código en su defecto:
public static void main(String[] args) {
JFrame test = new JFrame();
test.setSize(400, 400);
test.setLocationRelativeTo(null);
test.setUndecorated(true);
test.setBackground(new Color(0, 0, 0, 0));
test.getContentPane().setBackground(new Color(0,0,0,0));
test.setVisible(true);
}
pero esto sólo hace un cuadrado blanco. Cerca pero no cigarro. También intenté sobreescribir el método de pintura, y alguien dijo algo sobre tirar el canal alfa, pero eso lo hizo negro (por supuesto). Entonces ... Stack Overflow es.
Si hay un engañado que responde esto exactamente, indíquemelo y lo eliminaré de inmediato.
actualización por las solicitudes de comentarios, he aquí una historia de cómo llegué aquí:
El primer enlace de todo el mundo llega a decir how to create translucent and shaped windows. Esto tiene varias líneas de allí similar a" ... la trama con translúcido un nivel de opacidad del 75% ". Entonces ... parece que están definidos de la misma manera, al menos en ese artículo. Lamentablemente usan la biblioteca.
Un par de enlaces que podría perseguir abajo:
Una solución de "trabajo" que no trabajan se informó en http://www.java-gaming.org/index.php?topic=24635.0 que muestra algo de esperanza, pero no pude conseguir que funcione.
http://techgearup.wordpress.com/2008/09/19/transparent-jframe-background/ es una forma de hackear usando capturas de pantalla y se duplica en algunos otros lugares.
Se puede utilizar Java 7? ¿Podría vincular algunas de las soluciones de trabajo para que veamos lo que ha intentado? –
No [confundir] (http://stackoverflow.com/questions/3517722/java-transparent-jscrollpane/3518047#3518047) _opacity_ y _transparency_. – trashgod
De acuerdo, esta es una de las nuevas características en Java 7: http://download.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html –