在 Eclipse 3.7 中,我们可以这样做:
public class HelloName extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
String name = event
.getParameter("de.vogella.rcp.commands.parameterfirst.commandParameter1");
MessageDialog.openInformation(HandlerUtil.getActiveShell(event),
"Hello", "Hello " + name);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
在 Eclipse 4.2 中,我创建了这个处理程序,我希望将 findPart() 的部件 ID 作为参数提供,但是我可以从哪里获取参数?
public class FocusHandler {
@Execute
public void execute(EPartService partService) {
MPart part = partService.findPart("nl.rh.parts.inbox");
partService.activate(part, true);
}
}
Run Code Online (Sandbox Code Playgroud)
我找到了我自己问题的答案。关键是在依赖注入中使用 @Named 注释。
@Execute
public void execute(EPartService partService, @Optional @Named("nl.rh.focusCommand.part") String partName) {
MPart part = partService.findPart(partName);
partService.activate(part, true);
}
Run Code Online (Sandbox Code Playgroud)
@Named 注释必须给出命令参数的 id。
| 归档时间: |
|
| 查看次数: |
1433 次 |
| 最近记录: |