Прозрачность в Java - PullRequest
       34

Прозрачность в Java

3 голосов
/ 15 ноября 2010

Я использую новый класс com.sun.awt.AWTUtilities и заинтригован. Я получил com.sun.awt.AWTUtilities/setWindowOpacity(java.awt.Window window, float f) для идеальной работы, но теперь мне интересно, есть ли способ изменить непрозрачность отдельного компонента, например javax.swing.JInternalFrame или javax.swing.JButton.

1 Ответ

1 голос
/ 15 ноября 2010

Попробуйте это:

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(); 
        } 
}
...