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