Java开发人员进入Java桌面开发

Java开发人员进入Java桌面开发,java,swing,swt,desktop,Java,Swing,Swt,Desktop,多年来,我一直在编写JavaWebJSF、Struts和JSR168应用程序。随着最近一位同事的离职,我似乎将构建更多的客户端应用程序。我从一开始就使用Eclipse,我对它非常满意。我觉得SWT正在衰落,这是一种基于我能找到的文献的观点,Swing正在激增 我的问题: 与在Netbeans中使用Matisse相比,通过在Eclipse中手工编写应用程序来学习Swing是否有价值?是的,这是肯定的-即使您计划在大多数时间使用Matisse,您也会从对Swing代码的合理理解中获益。这肯定会有所帮

多年来,我一直在编写JavaWebJSF、Struts和JSR168应用程序。随着最近一位同事的离职,我似乎将构建更多的客户端应用程序。我从一开始就使用Eclipse,我对它非常满意。我觉得SWT正在衰落,这是一种基于我能找到的文献的观点,Swing正在激增

我的问题:
与在Netbeans中使用Matisse相比,通过在Eclipse中手工编写应用程序来学习Swing是否有价值?

是的,这是肯定的-即使您计划在大多数时间使用Matisse,您也会从对Swing代码的合理理解中获益。

这肯定会有所帮助。也许你会达到马蒂斯的极限,想手工修改一些代码。在这一点上,最好知道引擎盖下发生了什么。

是的,学习手工编写Swing应用程序是非常有价值的。其中一个原因是,我知道没有一个GUI设计师总是做你想让他们做的事情。另一个——在我看来也是更重要的原因——是大多数GUI构建器,尤其是NetBeans,将所有内容生成到一个类中。这可能非常烦人,因为可维护性降低了很多。此外,许多GUI构建器还阻止了区域,即您无法手动修改生成的代码。或者,如果您这样做,GUI生成器将在下次使用它时覆盖它

然而,Swing带来的标准布局经理非常复杂。这就是为什么我建议你给予或尝试。在JGoodies站点上,您还可以找到其他用于外观、绑定和验证的lib,这些lib非常有用

我还建议您看看,如果您想对GUI行为进行单元测试,这将非常有帮助

如果你有动力改进设计,给你的应用程序添加一些非常酷的效果,那就看看这本书


希望能有所帮助。

请注意,使用马蒂斯和手写Swing并不是相互排斥的。Matisse只生成Swing代码,您可以自定义它。例如,您可以使用Matisse制作GUI的一部分,也可以手工制作GUI旁边的部分。两全其美——至少我是这样做的


学习如何在Swing中执行某些操作的快速方法是在Matisse中执行,然后查看它生成的代码。

您确实需要知道Swing是如何工作的,因为您很可能需要调整和更改GUI程序希望您知道的工作方式和它的名称


Java教程有一个很好的Swing线索:

NetBeans的Matisse只在这样做的情况下将所有内容生成到一个类中。我认为最好是制作单独的面板,然后从中构建整个视图。和被阻止的区域-尝试右键单击并选择“自定义代码”。您可以将任何内容写入被阻止的区域。Matisse非常灵活,您只需以正确的方式使用它:-我知道,但它在我看来相当复杂。它支持语法突出显示/自动完成吗?