我用JACOB实现了Java对OCX组件的调用,Java能成功调用OCX里面的方法,但是对OCX里面的事件响应却出现了问题,如果OCX组件里的事件没有传出参数则Java可以正常接收到事件,可是当OCX的事件有返回参数时就无法响应了,我对Java事件机制不了解,Jacob这东西也是刚接触,可能是我的代码出现了问题,下面是一些示例代码,望高人指点。import   com.jacob.com.*;   
import   com.jacob.activeX.*;   
import   java.io.*;   
public class Test { ActiveXComponent comx=new ActiveXComponent("ZKFPEngXControl.ZKFPEngX"); //myCom.com 

Dispatch ob = comx.getObject();

public void initTest()
{
Variant var = Dispatch.call(ob, "InitEngine");
if(var.getInt()==0)
{
Variant valid = Dispatch.get(ob, "EngineValid");
if(valid.getBoolean())
{
Variant sn = Dispatch.get(ob, "SensorSN");
System.out.println(sn.toString());

SensorEvents se = new SensorEvents();
DispatchEvents de = new DispatchEvents(ob,se,"ZKFPEngXControl.ZKFPEngX"); Dispatch.call(ob, "BeginEnroll");

try {
Thread.sleep(5000);
} catch (Exception e) {
} Dispatch.call(ob, "SaveJPG","c:\\finger.jpg");
Dispatch.call(ob,"EndEngine");
}

}

} public static void main(String[] args){
Test test = new Test();
test.initTest();
}
}
事件方法类SensorEvents import com.jacob.com.Variant;public class SensorEvents { //ocx事件 OnFingerTouching 无参数返回
public void OnFingerTouching(Variant[] args) { 
                System.out.println("OnFingerTouching");                 
        }  
        //ocx事件 OnFingerLeaving   无参数返回
public void OnFingerLeaving(Variant[] args) {
System.out.println("OnFingerLeaving"); 
}
/*
         ocx事件 OnEnroll(ActionResult As Boolean,ATemplate)
         返回参数ActionResult,ATemplate请问有参数的事件怎么写它的java方法?
          
          */
public __ OnEnroll() {
        //如何写?
}}