eclipse 插件开发,调用建立的编辑器类时,出现内部错误,请大家帮忙。

tercel001 2006-08-04 11:57:54
在一个视图上单击一按扭,打开新建的编辑器
提示说

由于发生内部错误而无法创建此部件。产生该故障的原因是:编辑器初始化失败:geotools.editor.MapEditor。位置不正确。

请大家帮忙,急,谢谢

代码如下:
MapEditorInput mapeditorinput=new MapEditorInput();

IEditorInput editorinput=null;
String editorID=null;

editorinput=mapeditorinput;
editorID="geotools.editor.MapEditor";

if(editorinput==null||editorID==null){
return;
}

IWorkbenchPage workbenchPage=getViewSite().getPage();
IEditorPart editor=workbenchPage.findEditor(editorinput);

if(editor!=null){
workbenchPage.bringToTop(editor);
System.out.println("已经打开该编辑器");
}else{
try{
editor=workbenchPage.openEditor(editorinput, editorID);
System.out.println("调用createPartControl方法");
}catch(PartInitException e2){
//MessageDialog.openInformation(null,"ERR","ERR");
e2.printStackTrace();
}
}

错误具体信息如下:
org.eclipse.ui.PartInitException: 编辑器初始化失败:geotools.editor.MapEditor。位置不正确。
at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:846)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:583)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:372)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:290)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:140)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:268)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:394)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1144)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1097)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1311)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:455)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:102)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:441)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:111)
at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:60)
at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:217)
at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:207)
at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:819)
at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:718)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:679)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2586)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2521)
at org.eclipse.ui.internal.WorkbenchPage.access$10(WorkbenchPage.java:2513)
at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2498)
...全文
141 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tercel001 2006-08-05
  • 打赏
  • 举报
回复
首先谢谢 chiny(从此有你)
我仔细核查了不只一次了,ID没有错误的
另外,以下部分,捕捉不到异常
editor=workbenchPage.openEditor(editorinput, editorID)
editor返回的一直是null值

try{
editor=workbenchPage.openEditor(editorinput, editorID);
System.out.println("调用createPartControl方法");
}catch(PartInitException e2){

e2.printStackTrace();
}

chiny 2006-08-05
  • 打赏
  • 举报
回复
你在extension里面找找,看是不是ID搞错了?

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧