我是eclipse的新手,我正在尝试编写一个简单的RCP应用程序来为路由器等自动生成配置文件。
我有一个向导,它收集所需的信息(例如IP地址),然后用用户输入更新模型。向导完成后,触发模型写出文件。
在我的上一个向导页面上,我提示用户保存文件并使用“浏览”按钮启动显示“保存” FileDialog 的命令。单击按钮时会调用该命令:
browseButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e){
IHandlerService handlerService = (IHandlerService) (PlatformUI.getWorkbench().getService(IHandlerService.class));
try {
filename = (String) handlerService.executeCommand("ie.btireland.cm.config.projectFileAs", null);
path.setText(filename);
setPageComplete(true);
}catch(Exception E){ // handle error }
}
});
一切正常但我希望将String对象传递给命令,以便在创建对话框时可以在FileDialog.setFileName()
上使用它。我的目标是在FileDialog窗口出现时填充建议的文件名。
我一直在寻找答案,我无法解决问题。由于该命令仅由其ID引用,因此我无法确定如何将变量传递给它。
我最后放弃了,现在我将字符串写入我在命令处理程序中读取的临时文件,但显然这是一个疯狂的解决方案。当然必须有一个更简单的方法吗?
非常感谢任何帮助,
的Cathal。
答案 0 :(得分:1)
答案 1 :(得分:0)
以下帖子可能会有所帮助:RCP Command with object argument
或者您可以直接在“widgetSelected”方法中打开文件对话框,而不是使用额外的命令执行此任务。