Eclipse插件开发学习笔记【3】--- 添加视图和透视图

一、添加视图

视图是Eclipse插件开发中一个重要的扩展点,我们需要做的是在Eclipse插件项目中插入一个视图。

首先,新建一个插件项目,命名为addView,选择Hello Word模板,其他默认设置。

包结构如图所示:

双击plugin.xml文件,选择扩展选项卡,点击添加org.eclipse.ui.views扩展点。

右键新建一个category和view属性如图所示:

右键src添加类,输入类名FirstView,继承超类ViewPart,包addperspective.views,点击完成:

在createPartControl中添加Text对象,具体代码如下:

package addperspective.views;

import org.eclipse.swt.widgets.Composite;

import org.eclipse.swt.widgets.Text;

import org.eclipse.ui.part.*;

import org.eclipse.swt.layout.FillLayout;

import org.eclipse.swt.SWT;

public class FirstView extends ViewPart {

/**

* The constructor.

*/

public FirstView() {

}

/**

* This is a callback that will allow us

* to create the viewer and initialize it.

*/

public void createPartControl(Composite parent) {

Composite topCom = new Composite(parent, SWT.NONE);

topCom.setLayout(new FillLayout());

Text text = new Text(topCom, SWT.BORDER|SWT.MULTI);

text.setText("第一个窗口");

}

/**

* Passing the focus request to the viewer‘s control.

*/

public void setFocus() {

}

}

点击运行,效果如图:

此时的视图,只是单纯的视图,需要单独选择显示时才会显示。后面就将它建造在一个透视图里。

二、添加透视图

首先新建一个插件项目,命名为addperspective,选择Hello Word 模板,其他默认设置。

创建两个个view过程与上节相同,不再赘述,建成后的包结构如图。

双击打开plugin.xml文件,打开扩展选项卡,点击添加,选择org.eclipse.ui.perspectives,更改id、name、class等内容,具体如下:

右键src新建类FirstPerspective,实现接口IPerspectiveFactory,包addperspective.views,点击完成。添加视图布局代码如下:

package addperspective.views;

import org.eclipse.ui.IFolderLayout;

import org.eclipse.ui.IPageLayout;

import org.eclipse.ui.IPerspectiveFactory;

public class FirstPerspective implements IPerspectiveFactory {

@Override

public void createInitialLayout(IPageLayout layout) {

// TODO 自动生成的方法存根

String editorArea = layout.getEditorArea();

IFolderLayout left = layout.createFolder("left",IPageLayout.LEFT,0.2f,editorArea);

left.addView("addperspective.views.SecondView");

IFolderLayout buttom = layout.createFolder("buttom",IPageLayout.BOTTOM,0.8f,editorArea);

buttom.addView("addperspective.views.FirstView");

}

}

其中通过IPageLayout的createFolder方法和IForderLayout的addView方法,查找view并设置他的位置和比例。

点击运行,打开第一透视图,效果如下:

附上第二个view的代码:

package addperspective.views;

import org.eclipse.swt.SWT;

import org.eclipse.swt.events.SelectionAdapter;

import org.eclipse.swt.events.SelectionEvent;

import org.eclipse.swt.layout.FillLayout;

import org.eclipse.swt.widgets.Composite;

import org.eclipse.swt.widgets.List;

import org.eclipse.swt.widgets.Text;

import org.eclipse.ui.IViewPart;

import org.eclipse.ui.IWorkbenchPage;

import org.eclipse.ui.part.ViewPart;

public class SecondView extends ViewPart {

@Override

public void createPartControl(Composite parent) {

Composite topCom = new Composite(parent,SWT.NONE);

topCom.setLayout(new FillLayout());

final List list = new List(topCom,SWT.BORDER);

list.add("111");

list.add("222");

list.add("333");

}

@Override

public void setFocus() {

// TODO 自动生成的方法存根

}

}

写在最后:

昨天之所以没有发布博客,是因为碰到了,XX结构不一致的问题。最终发现没有实现插件的Activator类。在此提醒自己一定记住这点。

时间: 2024-08-01 22:44:21

Eclipse插件开发学习笔记【3】--- 添加视图和透视图的相关文章

Eclipse插件开发 学习笔记 PDF 第一篇到第四篇 免分下载 开发基础 核心技术 高级进阶 综合实例

<<Eclipse插件开发 学习笔记>>,本书由浅入深.有重点.有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章.第一篇介绍Eclipse平台界面开发的基础知识.包含SWT控件的使用.界面布局.事件处理等内容:第二篇是插件开发核心技术,主要介绍插件开发的核心知识要点,包含行为(Action).视图(ViewPart).编辑器(Editor).透视图(Perspective)等10章的内容.第三篇主要讲述插件开发的高级内容,包含开发高级内容.富client平台技术(R

eclipse插件开发学习笔记

2016-09-01 17:11:50 1. 概述 1.1 SWT/JFace 是Eclipse 的基础,Eclipse 的 Workbench 就是建立在 SWT/JFace 之上的.另外,JFace 是在 SWT 之上开发的,它和 SWT 形成一个交集, 其中 SWT 提供最原始的组件,如下图所示 JFace是在SWT的基础上创建的,但JFace并不能完全覆盖SWT的功能 这两个图下面那个应该是对的,上面那个有点问题吗? 1.2 SWT是一个库,依赖于本机操作系统的库,会体现主机的GUI库特

Eclipse插件开发学习笔记【5】--- 给视图添加下拉菜单和按钮

我们采用上篇中的示例,需要在View2中添加两个按钮和下拉菜单中添加两项. 首先,新建一个继承ActionGroup类,AddActionGroup,具体代码如下: /** ************************************ AddActionGroup类 **/ package viewsconnection.actions; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.I

Eclipse插件开发学习笔记【6】--- 添加编辑器

我们使用myfirstplugin的示例,我们在ViewList中的111,222,333的点击时分别打开三个不同的编辑器. 首先,我们在plugin.xml的扩展选项卡中点击添加,选择org.eclipse.ui.editors扩展点,点击完成. 右击扩展点新建两个editor,一共三个editor,属性如下图所示: 右键src文件夹,点击新建类,新建3个类非别为Editor1,Editor2,Editor3,继承EditorPart类. 在init和createPartControl函数中加

Eclipse插件开发学习笔记【7】--- 添加首选项

首先,我们新建一个插件项目,打开plugin.xml文件选择扩展选项卡,添加一个org.eclipse.ui.preferencePages扩展点,并再添加一个page按照图中所示配置,注意第二个page的category为第一个page的id. 右键src文件夹,点击新建类,新建2个类分别为Page1,Page2,继承PreferencePage类,实现IWorkbenchPreferencePage接口. /** * * Page1 * */ package addpreferencepag

R语言可视化学习笔记之添加p-value和显著性标记

R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline 上篇文章中提了一下如何通过ggpubr包为ggplot图添加p-value以及显著性标记,本文将详细介绍.利用数据集ToothGrowth进行演示 #先加载包 library(ggpubr) #加载数据集ToothGrowth data("ToothGrowth") head(ToothGrowth) ## len supp do

Android学习笔记-ImageView(图像视图)

原文来自:http://www.runoob.com/w3cnote/android-tutorial-imageview.html 本节引言: 本节介绍的UI基础控件是:ImageView(图像视图),见名知意,就是用来显示图像的一个View或者说控件! 官方API:ImageView;本节讲解的内容如下: ImageView的src属性和blackground的区别: adjustViewBounds设置图像缩放时是否按长宽比 scaleType设置缩放类型 最简单的绘制圆形的ImageVi

《ASP.NET MVC 4 实战》学习笔记 3:视图

本篇最后两节没看懂,但是日子还是要过,先笔录下来等以后再慢慢理解吧... 视图的生存目标是取得一个送给它的模型并用这个模型来渲染内容.由于控制器及相关服务已经执行了所有业务逻辑并将结果包装成一个模型对象,故视图只需要知道如何取得这一模型并把它转换成HTML. 一.选择待渲染视图: 视图是通过控制器动作中调用View方法来渲染的,如前面所讲GuestbookController中的Create动作: public ActionResult Create() { return View(); } 当

mysql学习笔记之四(视图)

视图 通过对视图的操作不仅可以实现查询的简化,而且还会提高安全性 视图: 本质是一种虚拟表,其内容和真实表相似,包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储数据值的形式存在.行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成. 视图使程序员只关心感兴趣的某些特定数据和他们所负责的特定任务.这样程序员只能看到视图所定义的数据而不是视图所引用表中的数据.从而提高了数据库中数据逇安全性. 特点: 1.视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系