gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:41:03 25 4
gpt4 key购买 nike

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

最佳答案

您实际上是在问两个不同的问题: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 具有功能相似的产品,但实现代码的方式却截然不同。

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

该代码在 Matisse 内部高度可维护;它不打算在 Matisse 之外进行编辑,但如果您需要的话,代码适合进行编辑(我认识的许多人使用 Netbeans GUI,然后将源代码复制到 Eclipse 中)。

Eclipse GUI 编辑器是一个非常不同的生物。 GUI 编辑器在整体功能方面大致相同,但我发现它们不够完善。布局功能大致相同,尽管有时错误有点不那么宽容。某些自定义要求我转到源文件并直接编辑文件,而不是通过 GUI 访问代码自定义。生成的代码与 Matisse 有很大不同。 GUI组件通过“getters”添加和初始化,并分散在整个文件中;这很好,因为每个组件都被隔离/分组为单个函数,但当您需要诊断组件初始化之间的不良交互时,会很麻烦。事件处理程序也是如此——与 matisse 非常不同。

Eclipse 也没有提供任何保护措施,防止我编辑/破坏/篡改生成的 GUI 文件,而 Netbeans 的保护措施几乎令人讨厌。就可维护性而言,Eclipse 代码可能更接近于人类生成 Java 代码的方式...就我个人而言,我发现它生成的代码更难维护,但我从第一次开始就一直在研究 Matisse 生成的代码beta所以我的观点在这个问题上很难客观。

Netbeans 还能够使用相同的编辑器来构建 Swing 框架应用程序、Netbeans RCP 等...我不确定 Eclipse 是否也这样做。

关于java - Java GUI 编辑器为快速开发和可维护性提供了什么(即 Eclipse/SWT 和 Netbeans/Matisse)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/112854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com