基本思路:
用C#实现调用Java编写的类中的方法;重点是将Java编写的程序打包成Jar,然后使用开源工具(IKVM)将其转化成DLL控件,在.NET环境下调用。
1.打开Eclipse编写Java应用程序,然后将其打包成Jar包(方法不详细列出)(也可以在cmd下使用命令进行)
2.到IKVM官方网站下载IKVM需要的组件 http://www.ikvm.net/
下载ikvmbin-XX.zip文件解压进入BIN文件夹
百度网盘:链接:http://pan.baidu.com/s/1kVzBAuV 密码:i12b
3.将转化的JAR包通过IKVM工具(在BIN目录下)转化为DLL控件。
在cmd下使用命令ikvmc -out:Hello.dll com.Hello.jar即可转化
4.新建C#项目,将ikvm-XX.zip解压出来的文件路径的bin目录下找到以下3个DLL控件IKVM.OpenJDK.Core.dll ,IKVM.Runtime.dll ,IKVM.Runtime.JNI.dll 将它们添加引用添加到C#项目中。然后添加自己生成的Hello.dll控件。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//引入命名空间(Java中包的名字到C#这边会转化成namespace)
using com;
namespace WindowsFormsHello
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnClick_Click(object sender, EventArgs e)
{
//Java中的类
Hello hello = new Hello();
MessageBox.Show(hello.SayHello());
}
}
}
点击界面上的按钮,就会输出Hello,Java的信息。