RCP表单编辑器---》三、多页编辑器
多页编辑器可以同时打开多个页面,每个页面可以是一个编辑器IEditorPart,也可以是普通控件Control。
1、该编辑器对应的类为MutiEditorSample,该类要继承自MultiPageEditorPart类才可以实现多页显示效果。代码如下:
package com.testrcp.myrcp.editors; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Label; import org.eclipse.ui.PartInitException; import org.eclipse.ui.part.MultiPageEditorPart; public class MutiEditorSample extends MultiPageEditorPart { //该编辑器的标识 public static final String ID = "com.testrcp.myrcp.editors.MutiEditorSample"; private JsEditor page1 ;//编辑器对象 private JsEditor page2 ;//编辑器对象 private Label control1 ;//标签对象 //父类中抽象方法 protected void createPages() { //创建页面和标签对象 page1 = new JsEditor(); page2 = new JsEditor(); control1 = new Label ( getContainer(), SWT.NONE); control1.setText("这是一个标签"); try { //添加第一页 addPage( page1 , new JsEditorInput("One")); //设置选项卡的名称 setPageText(0,"One"); //添加第二页 addPage( page2 , new JsEditorInput("Two")); setPageText(1,"Two"); //添加第三页,为一个标签 addPage(control1); setPageText(2,"Three"); } catch (PartInitException e) { e.printStackTrace(); } } public void doSave(IProgressMonitor monitor) { } public void doSaveAs() { } public boolean isSaveAsAllowed() { return false; } }
2、在plugin.xml配置一个新的编辑器。内容如下:
<extension point="org.eclipse.ui.editors"> <editor class="com.testrcp.myrcp.editors.MutiEditorSample" default="false" icon="icons/alt_window_16.gif" id="com.testrcp.myrcp.editors.MutiEditorSample" name="多页编辑器"> </editor> </extension>
3、效果如图:
4、获取源码
链接:https://pan.baidu.com/s/1GjtxKitstcsdX2HvBSfJAg
提取码:oeah