一个学习最佳实践的好的Swing项目

11

我希望能够找到一个用Java开发的项目来学习Swing最佳实践。我的意思是通过SVN或类似方式托管在互联网上的开源项目。我已经阅读了一些关于这个话题的Stackoverflow问题,但我想看看一些实际项目。谢谢。

2个回答

9
我学习Swing最佳实践的方式是阅读JDK中的Swing源代码并进行实践。遵循Sun的实践方法,您将走上正确的道路。
阅读JTable、JTree、JScrollPane、各种外观、SwingWorker和SwingUtilities的实现。它们的事件处理和MVC模式非常复杂,但非常易读、可维护和可扩展。基本上,每次使用一个组件时,都要阅读源代码并理解它们做什么以及为什么这样做。最终,您将开始做同样的事情。
最重要的是编码。编写一些大型程序,您将开始看到一些似乎不正确或不优化的东西。来到Stack上找出您做错了什么或可以做得更好的地方。再写一些其他的东西,并且做同样的事情。
话虽如此,以下项目具有(或可能具有)良好的代码: SwingX- SwingX的维护者是Sun / ex-Sun的人,我一直认为它是未来Swing功能的非官方孵化器。

松鼠(一个JDBC客户端)- 我实际上没有查看过他们的源代码,但我已经使用这个程序多年了,它没有显示出编写不良的Swing程序中常见的缺陷。由于它的强大和良好的工作效果,我敢打赌它是非常优秀的。

InfoNode(一个强大的停靠框架)- 我已经浏览了他们相当多的代码,它非常稳定。

JFreeChart(一个强大的图表库)- 不是最好的代码,但比平均水平要好得多,特别是考虑到它是一个旧项目,从未真正打算用于人们正在使用它的所有功能。话虽如此,它非常可扩展,我从来没有遇到过无法满足我的需求的问题(我的需求远远超出了它最初的意图)。

GlazedLists(一款高性能的基于事件的列表库)- 不完全是Swing,但其事件处理类似于Swing。他们还有一些Swing模型的实现和一些极快的自定义组件。

JIDE Common Layer:一个庞大的自定义组件集合,作为商业组件的基础。我没有浏览过他们的代码,但他们的组件很漂亮,由于他们的主要重点是商业Swing组件,我再次打赌他们的代码是可靠的。


3

我发现使用Swing编写专业质量的应用程序非常有趣,比如IntelliJ IDEA Community Edition。现在它已经开源了,你可以查看代码并开始挖掘。但要注意,没有注释!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接