`

Eclipse插件从无到有–1.2给插件加入一个视图

阅读更多
给插件加入一个视图
1. plugin.xml 中加入一个扩展.<catagory/>是目录位置。<view/> 是视图的属性
	<extension point="org.eclipse.ui.views">
	    <category name="stools" id="zhch.illq.stools"/>
	    <view name="Nothing View" icon="icons/stools.gif"
	          category="zhch.illq.stools"
	          class="zhch.illq.stools.views.NothingView"
	          id="zhch.illq.stools.views.NothingView">
	    </view>
	 </extension>

2. 实现类继承org.eclipse.ui.part.ViewPart,要覆盖两个接口方法
package zhch.illq.stools.views;

import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;

public class NothingView extends ViewPart {
	@Override
	public void createPartControl(Composite arg0) {
	}
	@Override
	public void setFocus() {
	}
}

    2.1 OK,运行一下,Window -> show view -> other,找到stools打开,就是一个空白的视图。
3. 给视图添加几个控件。
    视图的各种布局参照org.eclipse.swt.layout包,控件主要在org.eclipse.swt.widgets包中。还有Eclipse提供的各种viewer,在org.eclipse.jface.viewers包中。

package zhch.illq.stools.views;


import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.part.ViewPart;

public class NothingView extends ViewPart {
	private Composite panel;
	private Label label;
	private Text name;
	private Label label2;
	@Override
	public void createPartControl(Composite parent) {
		Layout layout = new FillLayout(SWT.VERTICAL);
		parent.setLayout(layout);
		
		panel = new Composite(parent, SWT.NONE);
		panel.setLayout(new FillLayout(SWT.HORIZONTAL));
		
		label = new Label(panel,SWT.NONE);  
		label.setText("name:");
		name = new Text(panel, SWT.NONE);
		
		label2 = new Label(parent, SWT.NONE);
		label2.setText("Here is a label.");
	}
	@Override
	public void setFocus() {
	}
}

    3.1 OK,运行一下,FillLayout就是一个水平或垂直平分的布局。
4. 给控件加入事件响应
    public void createPartControl(Composite parent) {
		...
		label2 = new Label(parent, SWT.NONE);
		label2.setText("Here is a label.");
		setListener();
        ...
    }

	private void setListener(){
		label2.addMouseListener(new MouseAdapter(){
			public void mouseDoubleClick(MouseEvent e) {
				((Label)e.getSource()).setText(name.getText());
			}
		});
	}


4.1 OK运行一下。双击label2, label2的内容被设置为text框的内容


总结一下:
扩展点
   菜单:<extension point="org.eclipse.ui.actionSets">
   视图:<extension point="org.eclipse.ui.views">

 
 

分享到:
评论

相关推荐

    subversion1.2x 插件

    Subversion 1.2x 插件是针对Eclipse集成开发环境的一个版本控制系统插件,主要用于支持Subversion(SVN)版本控制系统的操作。Subversion是一个开源的版本控制系统,允许用户跟踪文件和目录的更改历史,便于团队协作...

    使用Eclipse 进行Maven开发

    m2eclipse 提供了一个专门的“Maven Repository”视图,可以用来浏览和管理 Maven 仓库。 **6.4.1 打开 Maven Repository 视图** 通过“Window”-&gt; “Show View”-&gt; “Maven Repository”可以打开 Maven ...

    Windows64位 eclipse4.5版本

    在Windows 64位系统上安装和使用Eclipse 4.5(也称为Mars版本)是一个常见的需求,这个版本发布于2015年,引入了许多新特性与改进。 1. **64位系统兼容性**: - Windows 64位操作系统提供了更大的内存空间,可以...

    Eclipse4教程

    - 从Eclipse 3.x迁移到Eclipse 4是一个渐进的过程。 - 开发者可以根据自身项目的实际情况选择最适合的迁移策略。 通过以上对Eclipse4教程的详细解读,我们可以看到Eclipse4不仅提供了强大的框架来支持复杂的应用...

    Eclipse中JAVA中文教程

    Eclipse的工作台顶部有一个主菜单,其中包括文件、编辑、视图、导航、搜索等选项。工具栏则提供了常用操作的快捷方式,如新建项目、运行程序等。 **2.9 视景** 视景是预定义的一组视图和编辑器布局。用户可以根据...

    JFinal-手册-1.2.pdf

    JFinal是一款基于Java语言开发的高性能Web和ORM开发框架,它的核心设计目标是为了让开发者能够快速开发、减少代码量、简化学习过程、具备强大的功能,并且是一个轻量级、易扩展、支持Restful协议的框架。它试图在...

    JavaEE5实用教程——基于WebLogic和Eclipse程序源代码

    综上所述,"JavaEE5实用教程——基于WebLogic和Eclipse程序源代码"涵盖了从基础组件到高级特性的广泛内容,旨在帮助开发者利用JavaEE5的简化特性,结合WebLogic Server的稳定性和Eclipse的高效开发工具,创建高质量...

    Eclipse中文教材

    以上内容涵盖了Eclipse中文教材中的关键知识点,从Eclipse的基本概念到具体的操作流程都有详细的解释。通过学习这些知识点,无论是初学者还是有一定经验的开发者都能更好地利用Eclipse这一强大的开发工具。

    redhat linux管方管理维护教材

    JBoss AS插件为用户提供了一个特定的视角,以方便进行服务器相关的操作。 #### 2.1 JBoss 服务器视图 - JBoss 服务器视图提供了对服务器状态的全面监控,包括但不限于服务器的启动、停止状态以及当前正在运行的...

    Android 应用开发入门教程

    Android系统基于Linux内核,为移动设备提供了一个完整的工作平台,包括操作系统、用户界面和应用程序。其核心优势在于开源性、可定制性和跨平台兼容性,使得开发者能够构建功能丰富的应用程序。 ##### 1.2 软件结构...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    spring-roo-docs

    该教程旨在教授开发者如何使用SpringRoo从零开始构建一个完整的Web应用,并涵盖以下几个方面: - 项目初始化与配置 - 实体类与字段的创建 - 集成测试 - Web层的构建 - 应用程序的安全性 - 用户界面的定制 - 自动化...

    wicket文档

    用于链接到同一个应用中的另一个页面。 - **5.3.4 书签链接控件** 生成可收藏的URL。 **5.4 表单输入控件** - **5.4.1 表单控件** 提供了创建表单的基础组件。 - **5.4.2 信息输出控件** 用于显示表单的...

    MyEclipse 6 Java EE 开发中文手册

    - **新建Java项目**:在Eclipse或MyEclipse中创建一个新的Java项目。 - **编写Java代码**:在新建的项目中添加Java类,编写Java代码。 - **运行Java程序**:通过Eclipse或MyEclipse内置的功能运行Java程序。 **3.3 ...

Global site tag (gtag.js) - Google Analytics