一直解决不了的问题,做插件的时候,无法打开编辑器,急

tercel001 2006-09-02 01:59:52
根据陈刚的<Eclipse从入门到精通>
做的,可是怎么也打不开视图,请高手指点
我用的是ECLIPSE 3.2
btnTest = new Button(top, SWT.NONE);
btnTest.setBounds(new Rectangle(103, 65, 83, 35));
btnTest.setText("测试");
btnTest.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
System.out.println("widgetSelected()"); // TODO Auto-generated Event stub widgetSelected()

//打开编辑器MapEditor
MapEditorInput mapEditorInput=new MapEditorInput();
IEditorInput editorInput=null;
String editorID=null;

editorInput=mapEditorInput;
editorID="test.editors.MapEditor";

if(editorInput==null || editorID==null)
return;

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

try{
workbenchPage.openEditor(editorInput, editorID);
}catch(PartInitException e2){
e2.printStackTrace();
}
}
});

点了按扭之后,一直没有反映,下面是提示信息,也跟踪了,可是一直找不到问题所在,急死了,请高手指点,谢谢了

widgetSelected()
org.eclipse.ui.PartInitException: 无法打开编辑器,编辑器标识未知:test.editors.MapEditor
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:674)
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)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2493)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2470)
at geopharos.views.AirscapeView$1.widgetSelected(AirscapeView.java:47)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at geopharos.intro.Application.run(Application.java:18)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
...全文
294 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tercel001 2006-09-02
  • 打赏
  • 举报
回复
问题已经解决,贴出应该注意的问题,希望可以对大家有帮助

a) 继承类EditorPart,新建一MapEditor类
b) 扩展接口IEditorInput,新建一MapEditorInput类
改写MapEditor的init方法

public void init(IEditorSite site, IEditorInput input)
throws PartInitException {
// TODO 自动生成方法存根
if(input instanceof MapEditorInput){
this.setSite(site);
this.setInput(input);
}
}
c) MapEditorInput类的getName和getToolTipText不可以返回 null。
d) 一定要设置Editor扩展的icon(icon="icons/sample.gif")属性,否则会出现以下错误。
org.eclipse.ui.PartInitException: 无法打开编辑器,编辑器标识未知:test.editors.MapEditor
e) 打开Editor代码
//打开编辑器MapEditor
MapEditorInput mapEditorInput=new MapEditorInput();
IEditorInput editorInput=null;
String editorID=null;

editorInput=mapEditorInput;
editorID="test.editors.MapEditor";

if(editorInput==null || editorID==null)
return;

IWorkbenchPage workbenchPage=getViewSite().getPage();

try{
workbenchPage.openEditor(editorInput, editorID);
}catch(PartInitException e2){
e2.printStackTrace();
}
EmEditor Pro(文本编辑器) V15.9.0 绿色中文版 emeditor 破解版以运行轻巧、敏捷而又功能强大、丰富著称,作为简单好用的文本编辑器,EmEditor 支持多种配置,可自定义颜色、字体、工具栏、快捷键、行距等,支持文本列块选择、无限撤消/重等,是替代记事本的最佳编辑器。 我最近一直在用 EmEditor,其便携性很适合影子系统,标签窗口也是极方便操作,现提供 EmEditor 12.0.4官方简体中文便携版,分别为 EmEditor 32 位和 64 位版。EmEditor 现已经添加了官方简体中文和繁体中文支持,无需额外汉化。 使用说明: 解压后直接运行主程序 EmEditor.exe 即可,所有配置都保存在 ini 文件中,纯绿色便携,完全兼容 Windows 7 及 PortableapPS.com 的便携平台,如果无法显示简体中文,可能需要重新配置。 2013/3/16 更新版本为 EmEditor 12.0.11 官方简体中文便携版,分别为 EmEditor 32 位和 64 位版。EmEditor 现已经添加了官方简体中文和繁体中文支持,无需额外汉化。 emeditor 破解版配置教程: 下面就让我们一起来通过图形化界面配置适合自己的EmEditor编辑器。 1、众多的图形界面配置功能 通过查看EmEditor的安装目录,可以发现,EmEditor有几个配置文件,理论上应该可以通过修改配置文件来达到配置EmEditor的目 的。然而,打开配置文件一看,如果您用过Vim,配置过Vim的话,会发现EmEditor的配置文件没法看。既然这样,那我们自然就会使用图形画界面来 配置了。 启动EmEditor,点击菜单栏上的工具菜单,该菜单下的几个子菜单就是配置用的。先来预览一下自定义和配置对话框。 通过配置对话框上的标签,您应该大概知道EmEditor的配置项有多少了吧,也应该相信EmEditor是很强大的,而且可以很有“个性”。 首先,来自定义EmEditor,相当于定义一个编辑环境。 2、自定义对话框 在自定义对话框中,很多定义采用默认即可。在此大概说一些polaris修改的几个地方。 1)在文件选项卡选中记住最后打开的文件夹。这样一定程度上方便了后续操作。 2)历史选项卡中可以记录最近打开文件记录,同时记录最近使用的字体。这样,在换字体时,只需要执行:查看菜单,就会有几个最近使用的字体。 3)查看:可以配置其他分栏的外观,如:资源管理器、大纲、输出窗口等;另外可以配置光标大小和颜色。 4)窗口:当时学Vim的时候,有一个很好的功能:保存当前工作环境,以便下次可以继续当前的工作。窗口就是用于配置这样类似的功能,不过似乎只能保存一个工作环境,没有Vim那么强大。 5)鼠标:配置鼠标按键执行的操作(主要是鼠标中建)。 6)状态栏:建议将所有选项勾选,在状态栏可以看到很多东西。 7)快捷方式:有一个很强大的功能,就是选中“在任务栏显示托盘符”,这样在任务栏可以方便的进行各种操作(通过自定义托盘图标)。 其他的选项您可以自己尝试。 3、打造共性 前面已经知道,EmEditor有一个“所有配置属性”。对,它是用于配置所有文件格式共同的属性。下面介绍常用配置。 3.1 常规选项卡 这是EmEditor最基本的一些配置。在这个选项卡中,一般建议勾选上显示标尺与行号,这是因为人们都习惯了编程(或阅读代码)时看到行号,这会 很方便定位,当然如果你不是程序员,可以不勾选。注意,这里勾选上,即使有些文件类型不想显示也没关系,别忘了EmEditor有“个性”化功能。 在这个选项卡有一个重要的配置项,那就是“制表符/缩进”,该对话框如下: 这里建议勾选上自动缩进和使用正则表达式,正则表达式的作用主要是为了编程缩进,以后再涉及。然后就是制表符大小和缩进大小,一般都会设置成4。 3.2 滚动选项卡 这里主要用于设置屏幕移动,根据你的习惯或爱好配置即可。有两个地方提一下: 1)“总是启用一页垂直滚动”。在使用编辑器的过程中,您肯定遇到过这种情况:编辑到了文件末尾,看着不方便,然后你就会按很多次回车来产生很多空 行,以使编辑行在中间。EmEditor提供了很好的解决方案,只需要勾选上“总是启用一页垂直滚动”,EmEditor便一直有一空页,让你的编辑总是 在上面或中间,而且没有产生多余的空行。 2)“水平格线”。选中后看起来像这样: 如果您喜欢可以勾选上。 3.3 文件选项卡 主要配置文件新建、编辑、保存时得一些信息,涉及文件编码等。一般采用默认即可。 3.4 备份、自动保存和关联选项卡 从标签名很容易知道功能。polaris备份功能一般不用(不喜欢它产生临时文件。呵呵。不过似乎不备
* 什么是LiveCapture? LiveCapture是用户友好丰富特针的截屏和屏幕录像软件, 适合软件开发者、图形设计者以及普通用户 它不但有多种模式的截屏,还集多种功于一身,如:取色器,放大镜,调色板,屏幕标尺,坐标轴,量角器 它有多种截屏模式 #全屏截图 #活动窗口截图 #窗口控件截图 #选择区域截图 #固定区域截图 #截图并加标注(跟QQ截图相似) #自动滚动截图 #定时后台连续截图 #重复上次截图 #程序菜单截图 #后台网页截图 它你所需,还启动快捷,还可以从快捷键和托盘菜单截屏 此软件对个人用户和商业用户都免费使用,不需要你任何花费 * 特针 对多个windows系统支持 多语言支持 不写注册表,不会在系统目录里写任何文件(放在U盘里随时可用) * 屏幕截图 各种输出文件方式,可以自定灵活的文件名,以及输出到Word,Excel,PPT,画图,windows图片和传真查看器,外部编辑器(可自定义),发送到Email,FTP空间,Web空间 全屏 激活窗口 窗口控件 选择区域 固定区域 并加标注 自动滚动 定时后台 重复上次 程序菜单 后台网页 * 图形编辑器 Todo Lists * 取色器和调色板 可以获得各种格式的颜色值(RGB,十进制,十六进制) 多种颜色表示方式:RGB/HSL/HSV 获得你满意的颜色 * 屏幕标尺 水平和垂直方向 各种单位(像素,厘米,英寸) 测量屏幕任意两点间的距离 DPI设置(72,96,120,300以及用户自定义) 多种色彩的皮肤可以设置 你不用再单独安装专门的屏幕标尺了 * 屏幕放大镜 放大率从一倍到二十位不等 置顶窗口,水滑显示,可以拖动改变窗口尺寸 * 坐标轴 在当前屏幕上绘横竖坐标线,并显示坐标值 * 量角器 用它测量屏幕上图形的角度 * 屏幕录像机 该屏幕录像机功能非常丰富,有四种录像模式(窗口/控件,矩形区域,全部屏幕,除系统任务栏外的全部屏幕;有细致的设置;有多种保存格式:avi, flv, mpg, mov, asf, wmv ************************************** 升级日志 *********************************** # 发行版本: 1.2.2 发行日期: 2011-08-29 + 增加 更换一些分辩率不高的图标,谢 hgoldfish@smth * 修改 修正在Win7下无法显示图标的问题,谢 oicu@smth, mous@smth, hgoldfish@smth, PGP@smth # 发行版本: 1.2.1 发行日期: 2011-08-27 + 增加 在‘重复上次截图’模式中增加上次是手绘区域 * 修改 修正在截屏栏无法显示图标问题,谢 oicu@smth, mous@smth 修正用画图板打开(没有设置自动保存)时会同时自动保存,谢 oicu@smth 修正在配置界面一个小问题 修正退出‘截图并加光标模式’时: 1. 光标不能恢复系统默认的 2. 按Esc键/或右键进行第二次截图时,字体大小不对,颜色板显示不对 3. 一个提示错误,谢 climbfeng@smth # 发行版本: 1.2.0 发行日期: 2011-08-25 + 增加 全面改写‘截图并加标注’模式(高度仿QQ截图功能) 增加‘手绘区域截图’ * 修改 解决被杀软误报有毒的问题 # 发行版本: 1.1.2 发行日期: 2011-08-20 + 增加 增加在放大镜中显示鼠标指针标识,谢 buttonwood@smth 增加在矩形区域模式时即选即截图(在配置-截取标签里设置),谢 buttonwood@smth 增加繁体中文语言,谢 kk_lee69@ACN * 修改 修正不能第二次录像的问题 # 发行版本: 1.1.1 发行日期: 2011-08-16 + 增加 增加支持双显示器及多显示器截图 * 修改 把所有图标都放进DLL里了,并美化个别图标(这样看起来整洁点),谢 CorZ@smth 添加提醒录像时需要大的空间来操作视频数据,谢 pianzi@ANAU

58,454

社区成员

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

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