Java GUI编辑器为快速开发和可维护性提供了哪些功能(即Eclipse / SWT和Netbeans / Matisse)?
在Eclipse / SWT或者Netbeans / Matisse之间,Java GUI编辑器在快速开发和可维护性方面给我们带来了什么?
解决方案
这绝对是主观的-我们同时使用Eclipse和Netbeans。我认为这归结为偏好问题。
没有人能告诉你哪个更好。这完全取决于每个开发人员的更改。这是一个在Google上搜索" Eclipse vs Netbeans"的内容,我们可以看看其他人已经在他们的思想中投入的利弊。 Eclipse与NetBeans
我认为我们应该对想要的结果应用程序是SWT还是基于Swing进行更多研究。使用哪个IDE应该是最不重要的因素。
我个人是Eclipse用户,但是我听说过Matisse的好处,所以如果必须构建Swing UI,我可能会考虑。顺便说一句,如果我们购买MyEclipse,它将集成Matisse。
我们实际上是在问两个不同的问题:SWT与Swing,以及Eclipse GUI编辑器与Netbeans GUI编辑器(Matisse)。
首先,SWT和Swing之间的区别在于它们是两个根本不同的GUI库。这类似于询问Tk和Win32或者Java Swing与.NET Forms之间的区别(不是说SWT是.NET)。关于SWT与Swing的讨论很多,但我对SWT的了解还不足以总结它们之间的差异。
首先,我要说的是偏向于Netbeans,从成为Forte的那一刻起,我就花了10年的时间学习IDE。
就GUI编辑器而言,Eclipse和Netbeans具有功能相似的产品,但是以非常不同的方式实现代码。
我的观察是,马蒂斯的行为,功能和产生的代码让人联想到Visual Studio .NET代码。对于某些对象(例如JTable),有清晰的初始化部分和自定义行为。我们可以"定制"一个对象,并通过GUI编辑器轻松添加自己的任意代码,以进行从初始化到设置单个属性的所有操作。对于事件处理,默认情况下是通过使用匿名内部类并调用独立方法在.NET中复制"代理"。 GUI编辑器本身可提供对表单对象模型的详细访问,并具有丰富的自定义设置。我们还可以自由地将非GUI Bean放入表单以供GUI组件使用,例如模型(表模型,列表模型等),与JPA相关的对象,工作者等。编码的SWING与Matisse需要一天的时间(尽管我们必须真正学习Matisse才能做到这一点)。如果我们已经进行了很多年的手工编码工作,那么重新学习有效使用GUI编辑器将是一个漫长而艰巨的任务。
该代码可在Matisse内部进行高度维护。它不打算在Matisse之外进行编辑,但是如果需要的话,该代码也适合编辑(我认识的许多人都使用Netbeans GUI,然后将源代码复制到Eclipse中)。
Eclipse GUI编辑器是一个非常不同的生物。 GUI编辑器的整体功能大致相同,但是我发现它们不太完善。布局功能几乎是相等的,尽管有时错误的容忍度也有所降低。某些自定义要求我转到源文件并直接编辑文件,而不是通过GUI来访问代码自定义。生成的代码与Matisse截然不同。 GUI组件是通过" getter"添加和初始化的,并且分散在整个文件中。这样做有好处,因为每个组件都被隔离/分组为一个功能,但是当我们需要诊断组件初始化之间的不良交互时却很麻烦。事件处理程序也是如此-与Matisse完全不同。
Eclipse也没有提供任何保护,以防止我编辑/破坏/篡改所生成的GUI文件,因为Netbeans对其保护几乎感到讨厌。就可维护性而言,Eclipse代码可能更接近于人类生成Java代码的方式...就个人而言,我发现它生成的代码更难维护,但是自从第一版开始我就一直在研究Matisse生成的代码。 Beta版,因此我对这个问题几乎没有客观的看法。
Netbeans还具有使用相同的编辑器来构建Swing框架应用程序,Netbeans RCP等的功能。
有些人可能认为我们要使用的最终产品实际上取决于问题中提示的使用程度。
本文建议Netbeans / Matisse编辑器更易于使用,因此我们应该在项目中使用它。
http://cld.blog-city.com/netbeans_matisse_versus_eclipses_visual_editor__no_contest.htm