SWT开发工具
http://www.eclipse.org/swt/tools.php
Eclipse有很多的透视图,比如Debug,或者java。下面分别是Debug,和java的透视图,可以发现,他们的结构不一样,展示给使用者的画面也不相同。


下面步入正题,来开发我们自己的透视图。
准备一个插件工程的环境,用来添加我们自己的透视图。
新建一个插件工程

输入我们的工程名字

修改自己想要修改的属性,默认即可。

接下来,eclipse为我们自动生成了一个插件工程。

创建一个透视图类,并添加自己的视图风格。
我们这个时候开始真正的开发一个透视图类。创建一个类,名字叫firstPer

让这个类继承IPerspectiveFactory,并实现它的继承方法。

1 package com.test.myperspective;
2
3 import org.eclipse.ui.IPageLayout;
4 import org.eclipse.ui.IPerspectiveFactory;
5
6 public class firstPer implements IPerspectiveFactory {
7
8 @Override
9 public void createInitialLayout(IPageLayout layout) {
10 // TODO Auto-generated method stub
11
12 }
13
14 }

为了看出效果,我们在初始化的时候,定义一个outline视图,一个problerm视图,并关闭编辑视图。

package com.test.myperspective; import org.eclipse.ui.IFolderLayout;
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory; public class firstPer implements IPerspectiveFactory { @Override
public void createInitialLayout(IPageLayout layout) {
// TODO Auto-generated method stub
String editorArea = layout.getEditorArea();
layout.setEditorAreaVisible(false);
layout.addView(IPageLayout.ID_OUTLINE, IPageLayout.LEFT, 0.25f,
editorArea);
IFolderLayout bottom = layout.createFolder("bottom",
IPageLayout.BOTTOM, 0.66f, editorArea);
bottom.addView(IPageLayout.ID_PROBLEM_VIEW);
} }

创建一个图标文件夹,放置我们自己的透视图图标。
在工程中添加一个新的文件夹,存放一个图标图片。

添加一个透视图扩展点,并把透视图类,及图标加入到扩展点属性栏中。
在属性预览视图的扩展点页面extension中,添加一个视图扩展点。

查找org.eclipse.ui.perspectives类,添加。

eclipse会自动帮助我们生成一个新的视图添加到这个扩展点下面

修改扩展点元素的属性,匹配到刚刚我们创建的firstPer类,修改完后,不要忘记保存。

运行插件工程,查看透视图
接下来就是见证成果的时刻啦。把工程作为一个Eclipse Application运行。

在最右边的打开透视图按钮中,选择自己的透视图,可以看到,只有一个outline,和problerms的透视图。

SWT开发工具的更多相关文章
- kettle系列-4.kettle定制化开发工具类
要说的话这个工具类还是比较简单的,每个方法体都比较小,但用起来还是可以的,把开发中一些常用的步骤封装了下,不用去kettle源码中找相关操作的具体实现了. 算了废话不多了,直接上重点,代码如下: im ...
- Eclipse swt开发环境搭建
原料: eclipse swt.下载链接为: Eclipse 4.6.2 Release Build: 4.6.2 配置说明: Developing SWT applications using Ec ...
- Java GUI图形界面开发工具
Applet 应用程序 一种可以在 Web 浏览器中执行的小程序,扩展了浏览器中的网页功能. 缺: 1.需要下载 Applet 及其相关文件 2.Applet 的功能是受限制的 优: 3.无需 ...
- eclipseGUI的可视化开发工具插件
一 各种GUI开发插件的特色 Eclipse并不自带GUI的可视化开发工具,那么如果要在Eclipse进行可视化的GUI开发,就需要依靠第三方的插件. 1. Visual Editor Eclip ...
- 【Machine Learning】Python开发工具:Anaconda+Sublime
Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...
- XCodeGhost表明:为了安全,开发工具应该从官方网站下载
今天的热门话题就是XCode编译器,这个神器在火热的移动互联网浪潮下也被人利用了,据文章分析 (XCode编译器里有鬼 - XCodeGhost样本分析)http://www.huochai.mobi ...
- 微信小程序开发工具测评
1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...
- Python 环境搭建,开发工具,基本语法
python环境 https://www.python.org/downloads/ 现在pthon有两个版本 一个是3.5系列的 , 一个是2.7系列的.建议用3.5版本的 开发工具 PyCharm ...
- Chrome 开发工具之Timeline
之前有说到Element,Console,Sources大多运用于debug,Network可用于debug和查看性能,今天的主角Timeline更多的是用在性能优化方面,它的作用就是记录与分析应用程 ...
随机推荐
- Swagger RESTful API文档规范
*注意编写的关键词:“必须”.“不能”.“需要”.“应当”,“不得”.“应该”.“不应该”,“推荐”.“可能”和“可选的” 原文链接:http://swagger.io/specification/ ...
- 3.HTML颜色
一,HTML 颜色采用的是 RGB 颜色,是通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红.绿.蓝三个通道的颜色. <p st ...
- [翻译] ValueTrackingSlider
ValueTrackingSlider What is it? A UISlider Subclass that displays live values in a popUpView. It’s i ...
- [翻译] ZLHistogramAudioPlot
ZLHistogramAudioPlot A hardware-accelerated audio visualization view using EZAudio, inspired by Audi ...
- Python3.5 执行发邮件Exchangelib(=)
fyl Python发邮件的代码如下: 只需要填写好加粗字体,即可正常使用. from exchangelib import DELEGATE, Account, Credentials, Messa ...
- Linux 系统的用户和组详解_【all】
1.Linux 用户和用户组详解 2.Linux 文件特殊权限详解 3.Linux 文件的读写执行权限的说明 4.Linux 架构之简述企业网站 5.Linux 环境变量设置详解 6.企业生产环境用户 ...
- 五十个小技巧提高PHP执行效率
在项目开发过程中,经常遇到了一些PHP处理程序性能底下的情况,程序运行在centos+nginx环境,虽然这个有很多的原因如:服务器本身配置,运行环境nginx服务,php-fpm配置等等,更多有一点 ...
- Language-Directed Hardware Design for Network Performance Monitoring——Marple
网络监控困难 1.仅仅通过去增加特定的监控功能到交换机是不能满足运营商不断变化的需求的.(交换机需要支持网络性能问题的表达语言) 2.他们缺乏对网络深处的性能问题进行本地化的可见性,间接推断网络问题的 ...
- 转载】JQuery中如何传递参数如click(),change()等具体实现
转载地址:http://www.jb51.net/article/36249.htm 有个需求让两个select中option相互转换,这个作业就是给几个按钮添加click()事件接下来为大家介绍下如 ...
- ethereumjs/ethereumjs-account-2-test
ethereumjs-account/test/index.js const Account = require('../index.js') const tape = require('tape') ...