2010-11-15 17 views
3

J'ai utilisé la nouvelle classe com.sun.awt.AWTUtilities et je suis intriguée. J'ai obtenu com.sun.awt.AWTUtilities/setWindowOpacity(java.awt.Window window, float f) pour fonctionner parfaitement, mais je me demande maintenant s'il y a un moyen de changer l'opacité d'un composant individuel, comme javax.swing.JInternalFrame ou javax.swing.JButton.Transparence en Java

Répondre

1

Essayez ceci:

class TransparentButton extends JButton { 
     public TransparentButton(String text) { 
      super(text); 
      setOpaque(false); 
     } 

     public void paint(Graphics g) { 
      Graphics2D g2 = (Graphics2D) g.create(); 
      g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f)); 
      super.paint(g2); 
      g2.dispose(); 
     } 
} 
+0

cela fonctionnera si j'ai personnalisé mes boutons frontière, fond, un et de premier plan, déjà? – Supuhstar

+0

Autant que je sache, il devrait le faire. La seule façon de savoir à coup sûr est de le tester quand même. –