2011-07-12 33 views
8

¿Cómo hacer que JFrame sea transparente? Quiero que mi JFrame sea transparente. El usuario debería ver el fondo cuando mi JFrame esté sobre él.¿Cómo hacer que JFrame sea transparente?

+0

posible duplicado de [fondo JFrame transparente] (http://stackoverflow.com/questions/2533650/transparent-jframe-background) –

+0

Un sencillo tutorial - https://www.youtube.com/watch?v=zecGJfNHPWo – m4heshd

Respuesta

9

Si no tiene ninguna objeción al usar clases de API restringidas, puede hacerlo con la clase AWTUtilities y el método setWindowOpacity() de esa clase. Here y here es un tutorial sobre cómo usarlo? Y here es la versión que usa el acceso nativo de Java.

+0

public static void main (String args []) { java.awt.EventQueue.invo keLater (nuevo Runnable() { public void run() { javax.swing.JFrame fr = new NewJFrame(); com.sun.awt.AWTUtilities.setWindowOpacity (fr, 0.7f); fr.setVisible (verdadero); } }); } –

+0

Puede publicar su código como respuesta. –

+0

No quería hacer eso, ya que solo pretende mejorar su respuesta ... No sé cómo formatear el código en un comentario. –

11

Encontré otra solución.

establecer el color de fondo de su marco a

// Set the frame background color to a transparent color 
yourFrameHere.setBackground(new Color(0, 0, 0, 0)); 

Y recuerda que para establecer la opacidad fuera de la ContentPane (sus JPanel u otro componente)

// turn off opacity of the content pane 
yourContentPaneHere.setOpaque(false); 
+0

No veo el método 'setOpaque()'. – smwikipedia

+0

Es un método de la clase abstracta JComponent. http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#setOpaque(boolean) Por lo tanto, cada JPanel y otros componentes tienen este método. – drzymala

+0

Esto es lo mejor. ¡Camino a seguir! – Zizouz212

Cuestiones relacionadas