我一直在使用新的 com.sun.awt.AWTUtilities
类并且对此很感兴趣。我让 com.sun.awt.AWTUtilities/setWindowOpacity(java.awt.Window window, float f)
完美地工作,但我现在想知道是否有任何方法可以改变单个组件的不透明度,例如 javax.swing.JInternalFrame
或 javax.swing.JButton
。
最佳答案
试试这个:
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();
}
}
关于java - Java 中的透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4180881/