技术开发 频道

基于Lotus Expeditor6.1的复合应用开发


消息动作的实现

    利用 Expeditor 的 Property Broker,我们可以定义不同级别的动作实现,如果组件所运行的设备没有 SWT 或 AWT 界面,我们可以用 Eclipse 核心命令的消息处理接口(org.eclipes.core.commands.IHandler)来实现动作,其中 IHandler 接口的 execute() 方法必须实现。PropertyChangeEvent 可以作为消息的触发器并且可以通过 ExecutionEvent.getTrigger() 获得。 以下是处理数据改变时事件响应的动作处理代码:

public Object execute(ExecutionEvent event) throws ExecutionException {
final Object eventTrigger = event.getTrigger();
if (eventTrigger instanceof PropertyChangeEvent){
final PropertyChangeEvent pce = (PropertyChangeEvent)eventTrigger;
final PropertyValue value = pce.getPropertyValue();
//TODO implement your handler
}
return null;
}


    我们的样例是基于 Eclipse 的 Expeditor 客户端,有一个视图用以界面显示,这样我们的事件处理代码可以基于 org.eclipse.jface.action.Action,需要实现的接口函数是 runWithEvent, 代码如下:

public class setTimeAction extends Action {
public void runWithEvent(Event event) {
if (event instanceof PropertyChangeEvent)
{
final PropertyChangeEvent pEvent = (PropertyChangeEvent)event;
//System.out.println("Event received");
Thread t = new Thread() {
public void run() {
PropertyValue value = pEvent.getPropertyValue();
//TODO implement your handler
}
};
Display display = Display.getDefault();
display.asyncExec(t);
}
}
}

观看专家视频讲座,了解人员协作信息,赢取免费试用软件。

0
相关文章