首先吐槽一下坑爹的Oracle forms
使用forms 的pjc 加强功能就要用 FBean 注册java VBean 类 但调用此类的方法时无法得到 IHandler 于是无法向Forms 发送事件。
这里我使用是间接方式。
1. 建立一个普通VBean 类
package tom.oracle.demos.dispatch;
/* DispatchingBean is a bean that will dispatch an event to forms
* It will be called by the DispatchingPJC as an example
*
* This method can be used to workaround that dispatching cannot
* be done using PJCs
* */
import java.awt.Component;
import java.awt.Container;
import java.awt.Frame;
import oracle.forms.engine.Main;
import oracle.forms.handler.IHandler;
import oracle.forms.ui.CustomEvent;
import oracle.forms.ui.VBean;
import oracle.forms.properties.ID;
import tom.oracle.demos.dispatch.DispatchingFBean;
public class DispatchingBean extends VBean
{private IHandler mHandler;
private Frame formsTopFrame = null;
private Main formsMain = null;
private static final ID MYEVENT =