我们爱分享----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工程的目录下。