今天在论坛里回答问题的时候,网友问了个问题,swing怎样实现窗口透明。
这里需要用到第三方的jna。
jna-3.3.0-platform.jar包下载:点击打开链接
废话先少说了,先把代码贴出来:
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);
}
}
效果: