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

StackOverflow https://stackoverflow.com/questions/112854

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

有帮助吗?

解决方案

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

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

首先,请允许我说我偏向于支持Netbeans,而且我花了10年的时间学习IDE作为Forte。

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

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

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

Eclipse GUI编辑器是一个非常不同的生物。 GUI编辑器在整体能力方面大致相同,但我发现它们不那么精致。布局功能大致相同,但有时错误的容忍度稍差。一些自定义需要我直接转到源文件并编辑文件,而不是通过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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top