Java的透明度

时间:2010-11-15 02:02:31

标签: java transparency awt awtutilities

我一直在使用新的com.sun.awt.AWTUtilities课程并且很感兴趣。我让com.sun.awt.AWTUtilities/setWindowOpacity(java.awt.Window window, float f)完美地工作,但我现在想知道是否有任何方法可以更改单个组件的不透明度,例如javax.swing.JInternalFramejavax.swing.JButton

1 个答案:

答案 0 :(得分: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(); 
        } 
}