eclipseGUI的可视化开发工具插件
一 各种GUI开发插件的特色
Eclipse并不自带GUI的可视化开发工具,那么如果要在Eclipse进行可视化的GUI开发,就需要依靠第三方的插件。
1. Visual Editor
Eclipse官方提供了一个叫做Visual Editor(VE)的开源GUI插件,功能还是比较强。可以根据用户的界面GUI设计,自动生成相应的JAVA代码。同样也可以通过相应的JAVA代码,生成其匹配的可视化GUI编辑界面。不过VE缺点比较大,我从3.1到3.2之前一直在用VE,没有多少改观。VE是通过另外启动一个JVM来模拟执行GUI的class,然后在Eclipse的界面内生成一个可视化效果。
回顾一下Visual C++,NetBeans等其它IDE进行GUI可视化的方法,都是基于另外一个界面管理资源文件,非用户可以直接修改的。而直接通过程序代码来管理可视化的GUI编辑器,就需要极强的代码parse能力。很可惜,VE想这样做,确没有能够做到。
VE使用起来问题很多,网上有网友直接评价说VE是“可用性不强”。我自己用起来的感觉,问题就出在一下几个方面:
1). 另外启动JVM速度很慢,而且如果要同时打开几个Visual Class,那么就要启动几个JVM,内存消耗也大。而且,有些时候,反复打开关闭一个Visual Class,JVM还启动不起来。
2). 对于用户自己编辑的可视化Java代码的parse能力很弱。常见的错误就是,明明是正确的可视化GUI代码,但是VE里面窗口打开半天,结果只能显示一把叉。很多时候,就根本不能显示出一个完整的可视化窗口。而对于窗口上某个控件的定位能力不强,用户自己的代码稍微转几道弯儿,VE就不知道这个控件是在哪里产生的了,顶多只能显示出来,但是无法可视化编辑。
4). 3.1的VE编辑的代码到了3.2的VE里面,显示出来完全不一样了。
5). 安装比较麻烦,还需要用户自行去安装不只一个的辅助插件。
综上所述,VE真的“可用性不强”
2. SWT-Designer
SWT-Designer是大家公认的,最强的Eclipse下开发GUI的插件http://www.swt-designer.com/。很多Eclipse书籍上都是直接拿SWT-Designer来讲解如何在Eclipse开发GUI界面程序。不过SWT-Designer是一个收费的插件。不收费的是基础版本,功能受到很大的限制。当然,网上也有完整版的破解版。SWT-Designer做得比较大,6.0最新的安装文件有几十M,可想其功能之强大。
3. jigloo
jigloo严格意义上来说也是收费的,不过他提供了non_commercial的版本,而这个版本的功能和commercial是完全一样的http://www.cloudgarden.com/jigloo/。作为个人开发来说,是不受限制的。jigloo很小,最新的版本才3MB多,安装也比较简单。
jigloo同时支持SWT和Swing。
jigloo也是完全基于Java代码的,不过它的code parse的能力远比VE要强,也要快。至少我很多在VE下出现问题,不能显示的Visual Class可以很好地在jigloo下编辑,至今还没有遇到jigloo不能编辑,parse出错的时候。而jigloo还可以集成了一写比较好的Java GUI风格代码的支持,功能上比VE要强大一些。
当然,3MB多的插件,再强也强不过SWT-Designer完整版的,但是比其基础版的要好很多。而SWT-Designer也并不是完全基于JAVA开发的,比如Windows版本的,还携带了dll文件。而jigloo是完全基于JAVA开发的,下载下来只有一个class的zip文件,也支持Eclipse的在线安装。
二 jigloo的安装和使用
jigloo的安装很简单,和其它Eclipse插件一样,不需要任何安装程序,直接解压出来就行了。
创建新的窗口,直接输入File->New->Others->GUI Forms就可以了。
而如果要打开一个已经存在的Visual Class,可以直接右键点击,选择Open With->Form Editor打开就可以了。打开后,首先要进行code parse,不过这个速度很快,也不需要像VE那样还启动一个JVM。
三. 总结
根据3大Eclipse的GUI开发插件可以看出,基本都是基于Java code的GUI编辑管理。这种编辑器管理,当然就比以前Visual C++那样管理Windows界面程序要困难很多。但是,现行的很多IDE,比如Visual Studio .NET,2005都还是能够做得比较快。主要的就是要看起code parsing的能力。
VE前面的缺点已经总结得比较多,不知道这个官方的插件什么时候才能让人真正放心。作为开发者来说,心里还是最想给VE加把劲的,毕竟VE是开源的,随便用的。
SWT-Designer功能最强大,可惜价格不低。而jigloo可谓介于两者之间,对于个人开发者来说,可以免费使用,而且其功能也足够到开发各种大型的GUI应用程序了,应该是一个合适的选择。
eclipseGUI的可视化开发工具插件的更多相关文章
- wxwidget wxpython 可视化开发工具
wxwidget官方建议的工具集合:http://wiki.wxwidgets.org/Tools 支持wxpython可视化开发工具 wxFormBuilder wxGlade wxDesigner ...
- win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件
win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件 1.去git上下载react-devtools文件到本地,https://github.com/fac ...
- React 可视化开发工具 Shadow Widget 非正经入门(之五:指令式界面设计)
本系列博文从 Shadow Widget 作者的视角,解释该框架的设计要点.本篇解释 Shadow Widget 中类 Vue 的控制指令,与指令式界面设计相关. 1. 指令式界面设计 Vue 与 A ...
- React 可视化开发工具 Shadow Widget 非正经入门(之六:markdown)
本系列博文从 Shadow Widget 作者的视角,解释该框架的设计要点.本篇讲解 Markdown 在 Shadow Widget 中的应用. Markdown 在 Shadow Widget 中 ...
- React 可视化开发工具 shadow-widget 的非可视开发方法
Shadow Widget 提倡在可视设计器中开发用户界面,输出转义标签,而非 JSX.许多童鞋可能不知道 SW 同样支持用 JSX 设计界面,开发体验比原生 React 编程好出很多,本文就介绍这方 ...
- IDEA 开发工具-插件{[转载]
00 idea 开发工具使用技巧 01 idea插件推荐-- 02 IDEA插件 03 IDEA值得推荐的20款优秀的插件 04 IDEA插件精选」安利一个IDEA骚操作:一键生成方法的序列图
- extjs 可视化开发工具
不清楚Ext可视化的可以看一下http://www.screencast.com/users/JackSlocum这里的三个视频哈. 安装和汉化的步骤 第一步下载:Ext需要支持AIR的支持 下载并安 ...
- UnityVR Steam_VR开发工具插件---VRTK 自带案例分析
- chrome安装react-devtools开发工具插件
1.去git上下载react-devtools文件到本地,https://github.com/facebook/react-devtools 2.进入到react-devtools-master文件 ...
随机推荐
- hdu-1133
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1133 思路:有m个人拿50元的纸币,n个人拿100元的纸币门票价格是50元,要求每个售票员遇到100元 ...
- 29. What Makes a True Leader ? 合格的领导者由何物决定 ?
29. What Makes a True Leader ? 合格的领导者由何物决定 ? ① Reading leadership literature,you'd sometimes think t ...
- EF生成的SQL语句执行顺序问题。
//实体被更改后,再做删除,EF只生成删除语句 //实体删除后再更改,EF报错 //添加语句会再,更改,删除后执行,更AddObject位置无关 //一个实体多个字段被改,只会生成一句update / ...
- web页面中a标签下载文件包含中文下载失败的解决
之前用到的文件下载,文件名都是时间戳的形式或者英文名.下载没有问题.后来附件有中文后写在页面是下面效果,点击下载,下载失败. 对应链接拿出来.是如下效果 之前用了各种其他办法都不理想,比如转义什么的. ...
- py-函数基础
定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 1.减少重复代码2.使程序变的可扩展3.使程序变得易维护 函数参数 形参变量 只有在被调 ...
- php文件上传代码解析
php文件上传代码解析 is_uploaded_file() //函数判断指定的文件是否是通过 HTTP POST 上传的,返回一个布尔值. $_FILES['upfile']['tmp_name' ...
- python将字典中的数据保存到文件中
d = {'a':'aaa','b':'bbb'}s = str(d)f = open('dict.txt','w')f.writelines(s)f.close()
- PHP环境的搭建及与nginx的集成
1. 去php官网下载最新稳定版(最新其实是7.0,为了兼容性,使用5.6.16) wget http://cn2.php.net/get/php-5.6.16.tar.gz/from/this/m ...
- 解决由AJAX请求时forms认证实效的重新认证问题
前言: 当用AJAX请求一个资源时,服务器检查到认证过期,会重新返回302,通过HTTP抓包,是看到请求了登录页面的,但是JS是不会进行跳转到登录页面. 使用环境: ASP.NET MVC 4 JQU ...
- .NET 调试入门(二) dump 出程序数据
前言 有时候我们需要看程序中运行情况怎么,如:某对象字段的具体值是多少等问题,我们就可以用调试工具找到答案.我们还是沿用前面的程序.原代码在文章低部. dump栈上的值 在线程4中输 ...