zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    case1.将文件夹内文件,按文件后缀不同进行分类
    openpyxl/csv--python处理excel表格模块
    pyttsx3--文字转语音库
    网络爬虫遵守规则
    python-requests库
    js 对象遍历出现的异常
    POI解析word文件,并为特定规则的key替换值
    bootstrap-table获得页面加载数据
    Javaweb项目下载文件时设置文件名
    MySQL自定义函数
  • 原文地址:https://www.cnblogs.com/wwssgg/p/14869721.html
Copyright © 2011-2022 走看看