今天在論壇裏回答問題的時候,網友問了個問題,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);
}
}
效果: