代码之家  ›  专栏  ›  技术社区  ›  Ky -

Java中的透明度

  •  3
  • Ky -  · 技术社区  · 15 年前

    我一直在用新的 com.sun.awt.AWTUtilities com.sun.awt.AWTUtilities/setWindowOpacity(java.awt.Window window, float f) 但我现在想知道是否有任何方法可以改变单个组件的不透明度,例如 javax.swing.JInternalFrame javax.swing.JButton

    1 回复  |  直到 15 年前
        1
  •  1
  •   user372743 user372743    15 年前

    试试这个:

    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(); 
            } 
    }
    
    推荐文章