日期:2014-05-18  浏览次数:20801 次

我们爱分享----Java调用C++ Dll 实现Win7 Aero透明玻璃效果
Java Windows窗体程序有标题栏情况下实现Aero 透明玻璃效果

原理        :在 Java 中调用 C++ Dll,本质上来说是调 Windows API。 
编译环境 :cmd、VisualStudio 2010.(Eclipse无法通过编译)。
平台        :Windows7 32位 & 64位
 
参考         :http://blog.sina.com.cn/s/blog_5e8036f80100w0cn.html
CSDN博客:http://blog.csdn.net/eyrefree/article/details/8729746
CSDN论坛:http://bbs.csdn.net/topics/390406882?page=1

具体步骤如下:

(1)编写Java代码:


import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class EyreFree extends JFrame {
 
    private static final long serialVersionUID = 1L;
 
    public native void AeroShow();
 
    static {
        System.loadLibrary("EyreFree");    //该处"EyreFree"为Dll名
    }
 
    JPanel Panel = new JPanel();
 
    public EyreFree() {
        Panel.setBackground(Color.red);    //Dll中AeroShow()函数将窗体红色区域变为Aero效果
        this.setSize(800, 500);
        this.getContentPane().add(Panel);
        this.setVisible(true);
    }
 
    public static void main(String[] args) {
        EyreFree AeMain = new EyreFree();
        AeMain.AeroShow();
    }
}


(2)到 cmd 下进行编译,即 javac EyreFree.java (以具体路径为准,下同)。

(3)编译完后用javah 编译成.h文件,也就是在cmd下执行 javah EyreFree ,此时在你类的目录下会多出一个 EyreFree .h 文件。

(4)用VS2010建立DLL工程,具体如下:

        1、打开VS2010 -> 新建 -> 项目 -> 左边选择Win32 -> Win32项目 -> 输入Dll名例如:EyreFree -> 下一步,选择DLL -> 完成。
        2、将上面用 cmd 生成的 EyreFree .h 文件放到上一步Dll工程的目录下。