Java GUI编辑器为快速开发和可维护性提供了什么(即Eclipse / SWT和Netbeans / Matisse)?

在Eclipse / SWT或Netbeans / Matisse之间,Java GUI编辑器在快速开发和可维护性方面提供了什么?

你真的问了两个不同的问题:SWT vs Swing,以及Eclipse GUI Editor和Netbeans GUI Editor(Matisse)。

首先,SWT和Swing之间的区别在于它们是两个根本不同的GUI库。 这类似于询问Tk和Win32,或Java Swing与.NET Forms之间的区别(更不用说SWT是.NET)。 有很多关于SWT与Swing讨论的讨论 – 我对SWT总结这些差异还不太了解。

首先,让我说我的偏见是支持Netbeans,我花了10年时间学习IDE作为Forte。

就GUI编辑器而言,Eclipse和Netbeans具有function相似的产品,但以非常不同的方式实现代码。

我的观察是Matisse的行为,function和产生的代码让人联想到Visual Studio .NET代码。 某些对象(例如JTable)有明确的初始化部分和自定义行为。 您可以“自定义”一个对象,并通过GUI编辑器轻松添加您自己的任意代码,从初始化到设置各个属性。 对于事件处理,它默认使用匿名内部类并调用独立方法在.NET中复制“委托”。 GUI编辑器本身提供对表单对象模型的详细访问,并具有丰富的自定义集。 您还可以自由地将非GUI bean放入表单以供GUI组件使用,例如模型(tablemodel,listmodel等),JPA相关对象,Workers等。过去需要一周时间用手生成-coded SWING需要一天与马蒂斯(虽然你必须真正学习马蒂斯这样做)。 如果你已经手动编码摇摆多年,那么重新学习有效地使用GUI编辑器将是一个漫长而艰难的期望。

该代码在马蒂斯内部具有高度可维护性; 它不打算在Matisse之外进行编辑,但如果需要,代码适合编辑(我知道许多人使用Netbeans GUI,然后将源复制到Eclipse中)。

Eclipse GUI编辑器是一个非常不同的生物。 GUI编辑器在整体能力方面大致相同,但我发现它们不那么精致。 布局function大致相同,但有时错误的容忍度稍差。 一些自定义需要我直接转到源文件并编辑文件,而不是通过GUI访问代码自定义。 产生的代码与马蒂斯非常不同。 GUI组件通过“getters”添加和初始化,并分散在整个文件中; 这很好,因为每个组件都被隔离/分组到一个函数中,但是当您需要诊断组件初始化之间的错误交互时很麻烦。 事件处理程序也是如此 – 与matisse非常不同。

Eclipse也没有提供任何保护来编辑/破坏/篡改生成的GUI文件,因为Netbeans几乎对其保护措施感到厌恶。 就可维护性而言,Eclipse代码可能更接近于人类生成Java代码的方式……就个人而言,我发现它生成的代码难以维护,但我一直在关注Matisse生成的代码beta所以我的观点在这个问题上几乎不客观。

Netbeans还具有使用相同编辑器构建Swing框架应用程序,Netbeans RCP等的能力……我不确定Eclipse是否也这样做。

这绝对是主观的 – 我们同时使用Eclipse和Netbeans。 我认为这取决于偏好。

没有人能告诉你哪个更好。 这完全取决于每个开发人员的变化。 这是一个谷歌搜索“Eclipse vs Netbeans”,你可以看看其他人已经倾注了他们的想法的一些优点和缺点。 Eclipse与NetBeans

我认为您应该对是否希望生成的应用程序为SWT或基于Swing进行更多研究。 使用哪个IDE应该是最不重要的因素。

我个人是Eclipse用户,但我听说Matisse非常好,所以如果我必须构建一个Swing UI,我可能会考虑它。 顺便说一句,如果你买MyEclipse,它会整合马蒂斯。

有些人可能会争辩说,您想要使用的最终产品实际上取决于它的易用性 – 这在问题中暗示过。

本文建议Netbeans / Matisse编辑器更易于使用 – 因此您应该在项目中使用它。 http://cld.blog-city.com/netbeans_matisse_versus_eclipses_visual_editor__no_contest.htm