本文主要是介绍rcp(插件开发)Command 传值的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有这样一个需求:如果想在command执行的时候携带一些信息,然后还想获取这些信息 这个如何实现呢?
一 传值部分(传递的是ExecutionEvent,通过ExecutionEvent携带的ApplicationContext传递对象,还可以传递别的类型如MAP)
//获取ICommandService
ICommandService commandService = (ICommandService) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite().getService(ICommandService.class);
//调用Command并传递对象
commandService.getCommand("CommandId").executeWithChecks(new ExecutionEvent(null, Collections.EMPTY_MAP, null, sendObject));
二 取值部分 这个是在command相关联的handler里取到这个ExecutionEvent,ExecutionEvent里携带相关传入的信息。
package command_test.handlers;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;
import org
这篇关于rcp(插件开发)Command 传值的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!