Java 编辑器初始化失败rcp eclipse中的站点不正确
你找到解决办法了吗 无法创建零件 编辑器id:rcp_demo.Editor.emp 编辑器初始化失败:rcp_demo.Editor.emp。网站不正确 软件包名称:RCP\u Demo.Editor 类名:Emp_command.java、Emp_Editor.java、Emp_Editor_input.javaJava 编辑器初始化失败rcp eclipse中的站点不正确,java,eclipse-plugin,eclipse-rcp,Java,Eclipse Plugin,Eclipse Rcp,你找到解决办法了吗 无法创建零件 编辑器id:rcp_demo.Editor.emp 编辑器初始化失败:rcp_demo.Editor.emp。网站不正确 软件包名称:RCP\u Demo.Editor 类名:Emp_command.java、Emp_Editor.java、Emp_Editor_input.java public class EmpCommand extends AbstractHandler{ public static final String Id = "rcp_
public class EmpCommand extends AbstractHandler{
public static final String Id = "rcp_demo.Editor.EmpCommand";
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
IWorkbenchPage page = window.getActivePage();
EmployeeEditorInput input=new EmployeeEditorInput();
try {
page.openEditor(input,EmployeeEditor.Id);
} catch (PartInitException e) {
System.out.println("Error:" + this.getClass().getName() + ":" + e);
e.printStackTrace();
throw new ExecutionException("Error open EmployeeEditor");
}
return null;
}
}
public class EmployeeEditorInput implements IEditorInput{
//IEditorInput implements all methods
}
public class EmployeeEditor extends EditorPart{
public static final String Id="rcp_demo.Editor.emp";
@Override
public void init(IEditorSite site, IEditorInput input)
throws PartInitException {
}
@Override
public void createPartControl(Composite parent) {
parent.setLayout(new RowLayout(SWT.HORIZONTAL));
}
}
EditorPart
不接受空的init
方法。init
的绝对最小值为:
@Override
public void init(IEditorSite site, IEditorInput input)
throws PartInitException {
setSite(site);
setInput(input);
}
您可以在init
方法中执行其他操作,但必须调用setSite
和setInput
。您的错误是因为您没有调用setSite
简介:编辑器初始化失败站点不正确
这里的信息远远不够。更详细地解释你在做什么。谢谢兄弟,请完整地描述一下这项任务
public class ProductEditor extends EditorPart {
//initialize editor when assigned its site
public void init(IEditorSite site, IEditorInput input)
throws PartInitException {
//instanceof in java is also known as type comparison operator
if (!(input instanceof ProductEditorInput)) {
throw new PartInitException("Invalid Input: Must be "
+ ProductEditorInput.class.getName());
}
setSite(site);
setInput(input);
}
public void createPartControl(Composite parent) {
parent.setLayout(null);
Label lblProductEditor = new Label(parent, SWT.NONE);
lblProductEditor.setFont(SWTResourceManager.getFont("Tahoma", 16, SWT.BOLD));
lblProductEditor.setBounds(36, 45, 285, 48);
lblProductEditor.setText("Product Editor");
}
}