Eclipse REST 库使用
很高兴今天成为了CSDN的专家,所以再忙也要抽空写一篇博客。最近公司有个需求要在RCP应用中用树状结构显示层级关系。我找了半天的开源框架,最后发现Eclipse REST最符合现在的需求。REST是专门用来显示图状效果的,废话少说了上效果,上代码。
public class DeviceTreeViewSWT {public static void main(String[] args) {Display d = new Display();Shell shell = new Shell(d);Image image1 = Display.getDefault().getSystemImage(SWT.ICON_INFORMATION);Image image2 = Display.getDefault().getSystemImage(SWT.ICON_WARNING);Image image3 = Display.getDefault().getSystemImage(SWT.ICON_ERROR);shell.setLayout(new FillLayout());shell.setSize(800, 800);Graph g = new Graph(shell, SWT.NONE);g.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {System.out.println(((Graph) e.widget).getSelection());}});g.setConnectionStyle(ZestStyles.CONNECTIONS_DIRECTED);GraphNode n1 = new GraphNode(g, SWT.NONE, "Virtual");n1.setBackgroundColor(new Color(d,255,0,0));GraphNode n2 = new GraphNode(g, SWT.NONE, "Shanghai");GraphNode n3 = new GraphNode(g, SWT.NONE, "Beijing");GraphNode n4 = new GraphNode(g, SWT.NONE, "AGM001");GraphNode n5 = new GraphNode(g, SWT.NONE, "AGM002");GraphNode n6 = new GraphNode(g, SWT.NONE, "AGM003");GraphNode n7 = new GraphNode(g, SWT.NONE, "AGM004");GraphNode n8 = new GraphNode(g, SWT.NONE, "AGM005");GraphNode n9 = new GraphNode(g, SWT.NONE, "AGM006");GraphNode n10 = new GraphNode(g, SWT.NONE, "AGM007");GraphNode n11 = new GraphNode(g, SWT.NONE, "AGM008");
// class PathFigure extends PolylineConnection {
// public PathFigure() {
// setTargetDecoration(new PolylineDecoration());
// setConnectionRouter(new ManhattanConnectionRouter());
// }
// }new GraphConnection(g, SWT.NONE, n1, n2);new GraphConnection(g, SWT.NONE, n1, n3);new GraphConnection(g, SWT.NONE, n2, n4);new GraphConnection(g, SWT.NONE, n2, n5);new GraphConnection(g, SWT.NONE, n2, n6);new GraphConnection(g, SWT.NONE, n3, n7);new GraphConnection(g, SWT.NONE, n3, n8);new GraphConnection(g, SWT.NONE, n5, n9);new GraphConnection(g, SWT.NONE, n5, n10);new GraphConnection(g, SWT.NONE, n4, n11);//g.setLayoutAlgorithm(new TreeLayoutAlgorithm(LayoutStyles.ENFORCE_BOUNDS), true);//g.setLayoutAlgorithm(new HorizontalTreeLayoutAlgorithm(LayoutStyles.ENFORCE_BOUNDS),true);g.setLayoutAlgorithm(new RadialLayoutAlgorithm(LayoutStyles.ENFORCE_BOUNDS),true);//g.setLayoutAlgorithm(new GridLayoutAlgorithm(LayoutStyles.ENFORCE_BOUNDS), true);shell.open();while (!shell.isDisposed()) {while (!d.readAndDispatch()) {d.sleep();}}image1.dispose();image2.dispose();image3.dispose();}
}
改下LayoutAlgorithm可以看到更炫的辐射状图
效果不错吧,用来显示图,树等都非常的方便
如果你用Jface封装的GraphViewer,那MVC使用起来更是方便.
转载于:https://www.cnblogs.com/hainange/archive/2011/07/07/6152977.html
Eclipse REST 库使用相关推荐
- Eclipse启动之二:Eclipse动态库(百度空间迁移)
动态库中的主要实现文件是:eclipse.c 其主要功能定位启动Java虚拟机和显示Splash窗口(暂未用,通过在org.eclipse.equinox.launcher.Main中调用来显示) j ...
- Eclipse 动态库调试(联合调试)
动态库调试: 如果一个工程依赖另一个工程的dll,那么调试时将看不到另外一个工程的源代码,在eclipse可以做到两个工程联合调试.方法是将另外一个也导入到eclipse,重新编译一遍生成dll,注意 ...
- 解决eclipse无法解析导入org.eclipse.swt库
右键点击项目 -> Build Path -> Config Build Path... 然后选择Libraries标签页,点击Add External JARs... 再到你的eclip ...
- Eclipse——添加库(Add Library)到项目
基本概念 添加库(Add Library):是指一些已经定义好的jar的集合,一些常用的jar的集合(如框架所带的jar),通过添加Library的方法,整个导入以一个整体的形式,方便多次使用 操作步 ...
- Eclipse——项目中使用jar包(添加到WEB-INF/lib目录下)
前期准备 Eclipse--添加库(Add Library)到项目 解决方案 右键项目-properties 然后找到deployment assembly: 最后apply并close即可 参考文章 ...
- Ubuntu系统---C++之Eclipse 开始工程项目
Ubuntu系统---C++之Eclipse 开始工程项目 安装完Eclipse,那就像其它项目一样,先要测试一下是否能用. 一.测一个hello world例子 二.利用OpenCV测试一个显示图片 ...
- eclipse中的java包awt_Eclipse中打包java程序
Java应用程序可以脱离Eclipse运行,但在运行之前要把应用程序打成一个JAR包,Eclipse下打包的方式方法和标准的AWT/SWUNG程序基本一样,主要有以下几点: a.MANIFEST.MF ...
- 搭建cocos2d-x-android环境 Windows XP3 + Eclipse + NDKR7(或ndkr7b)+COCOS2DX(没有用到cygwin和minigw)
版本: Windows XP3 JDK1.6 Eclipse 3.7.1 (需要C++插件CDT) ADT 16.0.1 NDK7 (或是NDKR7B) cocos2d-1.0.1-x-0.11.0. ...
- eclipse jdt.core(一)——简介
jdt是Java Development Tools的缩写,是eclipse支持java开发的核心插件.jdt core是jdt插件中的一个jar,本文用的jar是org.eclipse.jdt.co ...
最新文章
- CodeForces - 1401 F Reverse and Swap(线段树, 区间翻转, 区间交换,清晰易懂)
- NeurIPS 2018 | 腾讯AI Lab详解3大热点:模型压缩、机器学习及最优化算法
- Linux中如何通过命令行访问Dropbox
- Benchmark简介
- 测试睡眠质量软件,2018测睡眠质量的app排行榜:推荐10款有趣又有效的睡眠APP
- python长度单位换算表_长度单位换算表大全
- Android 图文数据JSON解析,金山词霸每日一句API的调用
- 以程序员的方式解决武汉公积金用户注册页面无法点击下一步问题
- 葫芦书笔记----CNN和RNN
- android+源代码加密,震惊!Android 12开发者版源代码泄密
- 2022美赛F题题目及思路--人人为我,我(空间)为人人
- 爬虫爬取qq看点视频
- __filename意思
- Ubuntu查找软件命令
- 〖Python网络爬虫实战③〗- 爬虫的基本原理
- 剑灵系统推荐加点_《剑灵》各职业练级推荐修炼加点攻略
- hnoi2014米特运输
- JAVA读文件类之FileReader/InputStreamReader/BufferedReader
- bat和半导体公司的利润率的比较
- Unity 绿幕视频抠图算法原理与实现 -- 效果极好
热门文章
- python构建知识库_使用Mediawiki构建个人知识库
- 我最喜欢的科目是计算机课英语,初一英语作:my favorite subject(我最喜欢的科目)要求写美术课(art),80词以上,拜托啦!...
- java检测用户是否重复登录_Java web工程判断用户是否重复登录
- java计算加速减速_java – 使用JOCL / OPENCL计算强度的加速总和
- JS 动态清除Div中内容
- 《天天数学》连载47:二月十六日
- Python案例:给出三角形构成方案
- 【codevs2492】【Tyvj1941】上帝造题的七分钟2,线段树的特别技巧
- vex夹球机器人_汕头市4名中学生获2020年VEX机器人世锦赛初中组亚军
- 2017.2.18 loli测试