2010-11-15 86 views
3

我一直在使用新的com.sun.awt.AWTUtilities類,並且很感興趣。我得到com.sun.awt.AWTUtilities/setWindowOpacity(java.awt.Window window, float f)完美工作,但我現在想知道是否有任何方法來更改單個組件的不透明度,如javax.swing.JInternalFramejavax.swing.JButtonJava中的透明度

回答

1

試試這個:

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

將這項工作,如果我有我的定製按鈕的邊框,背景和前景,已經? – Supuhstar 2010-11-15 03:42:17

+0

據我所知,它應該。唯一可以確定的方法是測試它。 – 2010-11-15 03:43:44