When I answered a question in the forum today, a netizen asked a question about how swing achieves window transparency. Third-party jna is required here. Jna-3.3.0-platform.jar package download: Click to open the link nonsense first less said, the first code posted out:
import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JFrame; import javax.swing.JPanel; import com.sun.jna.platform.WindowUtils; public class JFrameBackground { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(500, 500, 300, 300); System.setProperty("sun.java2d.noddraw","true"); WindowUtils.setWindowAlpha(frame, 0.5f); JPanel pane = new JPanel() { @Override public void paint(Graphics g) { super.paint(g); g.setColor(Color.red); g.fill3DRect(10, 10, 100, 100, true); } }; frame.setContentPane(pane); frame.setVisible(true); } }