我已经编写Java web (JSF,Struts,JSR168)应用程序很多年了。随着最近一位同事的离职,看起来我要构建更多的客户端应用程序。我从一开始就在使用Eclipse,而且我对它非常满意。感觉好像SWT正在衰落(这只是我能找到的一种基于文献的观点),而Swing正在兴起。
我的问题是:在Eclipse中通过手工编写应用程序来学习Swing是否有价值(而不是在Netbeans中使用Matisse )?
发布于 2009-07-28 06:26:28
是的,学习手工编写Swing应用程序是非常有价值的。其中一个原因是,我认识的任何GUI设计者都不会总是做你想让他们做的事情。另一个--在我看来更重要的原因--是大多数图形用户界面构建器(尤其是NetBeans)将所有的一切都生成到一个类中。这可能是非常恼人的,因为可维护性降低了很多(关注点分离)。此外,许多GUI构建器都有阻塞区域,即您不能手动修改生成的代码。或者,如果您这样做,GUI构建器将在您下次使用它时覆盖它。
但是,Swing附带标准LayoutManagers非常复杂。这就是为什么我建议你尝试一下MigLayout或JGoodies FormLayout。在JGoodies站点上,您还可以找到用于替代外观、绑定和验证的其他库,这些库非常有用。
我还建议你看一下Presentation Model pattern (Martin Fowler),如果你想对你的图形用户界面行为进行单元测试,这会有很大帮助。
如果你想改进设计,并在你的应用程序中添加一些非常酷的效果,请阅读Filthy Rich Clients一书。
希望能有所帮助。
发布于 2009-07-28 06:06:43
是的,当然--即使你计划大部分时间都使用马蒂斯,你也会受益于至少对底层的Swing代码有一个合理的理解。
发布于 2009-07-28 06:21:15
这肯定会有帮助的。也许你会走到马蒂斯所能做的事情的尽头,并且想要手动调整一些代码。在这一点上,最好知道引擎盖下发生了什么。
https://stackoverflow.com/questions/1192146
复制相似问题