Eclipse rcp 尝试创建简单的GEF

Eclipse rcp 尝试创建简单的GEF,eclipse-rcp,eclipse-gef,Eclipse Rcp,Eclipse Gef,我正在尝试创建一个简单的自动化测试工具 并创建了一个带有eclipse视图的RCP。现在我已经尝试包括简单的GEF 组件在视图上抛出错误,表示无法创建视图:插件GEFTutorial无法实例化类GEFTutorial.view 这是我的源代码 特别是当我取消注释 private ScrollingGraphicalViewer viewer=新的ScrollingGraphicalViewer; private RootEditPart RootEditPart=新的可伸缩freeformroo

我正在尝试创建一个简单的自动化测试工具

并创建了一个带有eclipse视图的RCP。现在我已经尝试包括简单的GEF

组件在视图上抛出错误,表示无法创建视图:插件GEFTutorial无法实例化类GEFTutorial.view

这是我的源代码

特别是当我取消注释

private ScrollingGraphicalViewer viewer=新的ScrollingGraphicalViewer; private RootEditPart RootEditPart=新的可伸缩freeformrooteditpart; 私有EditPartFactory EditPartFactory=新的SimpleGetEditPartFactory; 上面的所有语句都会显示在view.my view上

这是我的view.java源代码

包装材料; 导入org.eclipse.jface.viewers.IStructuredContentProvider; 导入org.eclipse.jface.viewers.ITableLabelProvider; 导入org.eclipse.jface.viewers.LabelProvider; 导入org.eclipse.jface.viewers.TableViewer; 导入org.eclipse.jface.viewers.Viewer; 导入org.eclipse.swt.swt; 导入org.eclipse.swt.graphics.Color; 导入org.eclipse.swt.graphics.Image; 导入org.eclipse.swt.widgets.Composite; 导入org.eclipse.ui.ISharedImages; 导入org.eclipse.ui.PlatformUI; 导入org.eclipse.ui.part.ViewPart; 导入org.eclipse.gef.*; 导入org.eclipse.gef.editparts.ScalableFreeformRootEditPart; 导入org.eclipse.gef.ui.parts.ScrollingGraphicalViewer; 公共类视图扩展了ViewPart{ 公共静态最终字符串ID=GEFTutorial.view; //对Draw2d画布使用标准查看器 private ScrollingGraphicalViewer viewer=新的ScrollingGraphicalViewer; //使用标准RootEditPart作为所有其他编辑部件的支架 private RootEditPart RootEditPart=新的可伸缩freeformrooteditpart; //自定义EditPartFactory将自动调用以创建 //编辑 //模型图元的零件 私有EditPartFactory EditPartFactory=新的SimpleGetEditPartFactory; //模型 私有超小部件模型; //私人桌面查看器; /** *内容提供程序类负责向 *视图。它可以将现有对象包装在适配器中,也可以只返回对象 *这些对象可能对视图的当前输入敏感, *或者忽略它,始终显示与任务列表相同的内容,例如 *例如。 */ 类ViewContentProvider实现IStructuredContentProvider{ public void inputChangedViewer v、对象oldInput、对象newInput{ } 公共空间处置{ } 公共对象[]getElementsObject父对象{ 如果对象的父实例[]{ 返回对象[]父对象; } 返回新对象[0]; } } 类ViewLabelProvider扩展LabelProvider实现 ITableLabelProvider{ 公共字符串getColumnTextObject对象,int索引{ 返回北京; } 公共映像getColumnImageObject对象,int索引{ 返回getImageobj; } 公共映像getImageObject obj{ return PlatformUI.getWorkbench.getSharedImages.getImage ISharedImages.IMG_OBJ_元素; } } /** *这是一个回调,允许我们创建查看器并进行初始化 *它。 */ 公共void createPartControlComposite父级{ /*查看器=新的TableViewerparent,SWT.MULTI | SWT.H_滚动 |SWT.V_卷轴; viewer.setContentProvidernew ViewContentProvider; viewer.setLabelProvidernew ViewLabelProvider; //向ContentProvider提供输入 viewer.setInputnew字符串[]{1,2,3}; */ //创建一个虚拟模型 模型=新的SuperWidgetModel; model.createDummyModel; //初始化查看器,“父级”是 //封闭式RCP窗框 viewer.createControlparent; viewer.setRootEditPartrootEditPart; viewer.setEditPartFactoryeditPartFactory; //将模型注入查看器,查看器将 //自动遍历模型 viewer.setContentsmodel; //将视图的背景设置为白色 viewer.getControl.setBackgroundnew Colornull,255255255; } /** *将焦点请求传递给查看器的控件。 */ 公共焦点{ viewer.getControl.setFocus; } }
有人能给我一些线索吗?我是RCP和GEF的新手:

我也只是在学习GEF,但从我所看到的GEF编辑器不是ViewPart视图,而是扩展了EditPart的编辑器

检查我正在进行的GEF教程。希望能有帮助


您还可以从中访问其他GEF教程。

是否有堆栈跟踪?错误日志视图中有任何内容吗?