Swing 透明窗体实现

2014-11-24 08:34:31 · 作者: · 浏览: 2
今天在 论坛里回答问题的时候,网友问了个问题,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);    
    }  
}