求助,java如何调用ocx控件里的事件?
以下是ocx控件的使用说明:
1.打开初始化:
txUDP1.UDPConnect()
返回值:
0。说明成功
1。说明失败:原因可能是端口已被其它设备用或禁用
‘出错返回错信息
2.结束关闭
txUDP1.UDPclose
3.取得数据事件
txUDP1_UDPdata
-------------------------------------------------------------------
'5种状态:-----标符(状态),来电号码,用户名/线路号码,通道,E(结束符)
'第1种来电号码:M,075526664777,26664777,01,E
'第2种去电号码:T,075526664777,26664777,01,E
'第3种来电摘机:A,,26664777,01,E(在来电时有效用于通道状态)
'第4种挂机: B,,26664777,01,E
'第5种未接电话: X,,26664777,01,E
使用jacob调用时,里面的方法能够调用成功,但事件却不能激活。
以下是我的代码:
public static void main(String[] args) {
JFrame f = new JFrame();
JTextArea ta = new JTextArea();
f.add(ta);
f.setSize(400, 500);
f.setVisible(true);
ActiveXComponent com = new ActiveXComponent("txUDPOCX.txUDP");
Dispatch disp = com.getObject();
// 初始化--0表示成功1表示失败
System.out.println(Dispatch.call(disp, "UDPConnect"));
Listener listener = new Listener();
listener.setTa(ta);
// 监听事件
DispatchEvents de = new DispatchEvents(disp, listener,"txUDPOCX.txUDP");
//Dispatch.call(disp, "UDPclose");
}
事件中的代码:
public class Listener {
JTextArea ta;
public JTextArea getTa() {
return ta;
}
public void setTa(JTextArea ta) {
this.ta = ta;
}
public void txUDP1_UDPdata(Variant[] txUDP1_UDPdata) {
ta.append("aaaa");
}
}
是不是那里写错了呢?求大神指点……