Java开发人员进入Java Desktop开发

Jam*_*roy 1 java desktop swing swt

多年来我一直在编写Java web(JSF,Struts,JSR168)应用程序.随着最近一位同事离职,看起来我将构建更多的客户端应用程序.我从一开始就使用Eclipse,我对它非常满意.感觉好像SWT正在减弱(只是基于我能找到的文献的观点)和Swing正在飙升.

我的问题:通过在Eclipse中手工编写应用程序来学习Swing是否有价值(而不是在Netbeans中使用Matisse)?

Rol*_*der 10

是的,学习手动编写Swing应用程序非常有价值.这样做的一个原因是我所知道的GUI-Designer总是做你想让他们做的事情.另一个 - 在我看来更重要的原因 - 是大多数GUI构建器(尤其是NetBeans)将所有内容生成到一个单独的类中.这可能非常烦人,因为可维护性大大降低(关注点分离).许多GUI构建器也有阻塞区域,即您无法手动修改生成的代码.或者,如果您执行此操作,GUI构建器将在您下次使用时覆盖它.

然而,与Swing一起使用的标准LayoutManagers非常复杂.这就是为什么我建议你试试MigLayoutJGoodies FormLayout.在JGoodies站点上,您还可以找到其他用于替代外观和感觉,绑定和验证的库,这些库非常有用.

我还建议你看一下Presentation Model模式(Martin Fowler),如果你想对你的GUI行为进行单元测试,它会有很大的帮助.

如果您有动力改进设计并为您的应用程序添加一些非常酷的效果,请查看Filthy Rich Clients一书.

希望能帮助到你.