是否有解释摇摆的GUI设计的资源?像最佳实践一样。
答案 0 :(得分:34)
设计指南并没有完全遵循,因为Swing可以在很多不同的平台上运行。很久以前Sun写了一些,但从未改变它们,所以如果你觉得它会有所帮助我会说它。这里有一些关于做摇摆发展的实用知识。
答案 1 :(得分:5)
我已经写了一份推荐清单here。
答案 2 :(得分:5)
在大型项目中,我会像这样分享应用程序:
每个GUI元素都有一个类,如JPanel,JDialog等。
为每个屏幕使用单独的包,特别是如果您必须实现自定义的TableModel或其他复杂的数据结构
不要使用匿名和内部类,而是实现ActionListener并在那里检查ActionEvent.getActionCommand()。
编辑:如果你正在寻找教程或介绍,你可以开始here
答案 3 :(得分:5)
也许不完全是你想要的东西,但是看一看Java Look and Feel Design Guidelines
并不会有什么坏处答案 4 :(得分:1)
答案 5 :(得分:1)
您可以在Professional Java JDK6 Edition
的第4章中找到一些最佳做法
答案 6 :(得分:1)
我也有一些指导方针:
1)使用Maven并将您的应用程序分成模块(视图,控制器,服务,持久性,工具,模型)。确保将Swing组件和依赖项仅放在视图包中,因此如果您希望某天更改视图框架,则可以重新实现视图模块,但可以保留业务逻辑,控制器等等。
2)使用GridBagLayout,因为它非常灵活且可配置最多
3)使用SwingTemplate(如果你愿意,我可以给你一个例子)
4)创建一个创建组件的SwingFactory,这样就可以减少代码行数,因为JFrames orso打算成为非常大的类......
5)让视图(JFrame,JDialog等)依赖于控制器。仅在JFrame上进行验证输入,但随后将参数传递给控制器。他们将决定触发哪些业务逻辑(服务,处理器等)。
6)使用大量枚举
7)始终考虑您的应用程序如何更改或如何维护。因此,始终使用针对接口或抽象类的代码。 (想想摘要)
8)在您的应用程序中使用设计模式,因为它们提供了代码的可靠性和可维护性。例如,制作所有控制器,服务,dao的单例类。制作工厂(swingfactory,...),这样你就不得不一遍又一遍地编写更少的代码....使用观察者可以自动处理动作。
9)测试您的应用:在TDD(测试驱动设计)或滴滴涕(设计驱动测试)之间做出选择
10)永远不要在JFrame上放置任何业务逻辑,因为它很丑陋且不是模型 - 视图 - 控制器设计。 JFrame对数据的处理方式不感兴趣。
希望有所帮助。