2011-11-02 79 views
11

我想如果有一些在Java中开发的项目来学习Swing最佳实践。我的意思是通过SVN或类似的方式在互联网上托管的开源项目。我一直在阅读Stackoverflow中关于这个主题的一些问题,但我会看到一些项目。谢谢。一个很好的Swing项目,用于学习最佳实践

回答

8

我学习Swing最佳实践的方式是阅读JDK中的Swing源代码并练习。遵循Sun的做法,你将走在正确的道路上。

阅读JTable,JTree,JScrollPane,各种LookAndFeels,SwingWorker,SwingUtilities的实现。他们的事件处理和MVC模式非常复杂,但非常易读,可维护和可扩展。 Essentailly,每次你使用一个组件时,都要阅读源代码并理解他们做了什么和为什么。最终,你会开始做同样的事情。

而最重要的是,代码。写一些大的程序,你会看到看起来不正确或最佳的东西。来到Stack,找出你做错了什么或者可以做得更好。写别的东西,并做同样的事情。

这就是说,下面的项目(或可能有)好码:

SwingX - SwingX的维护者是太阳/ EX-太阳的人,我一直认为它是未来非官方的孵化器摆动功能。 (一个JDBC客户端) - 我没有真正看过它们的源代码,但是我已经使用了这个程序好几年了,并且它没有显示在写得不好的Swing程序中的任何常见缺陷。随着它的功能如何强大,以及它的运作效果如何,我会把它写得非常好。

InfoNode(一个强大的对接框架) - 我已经经历了很多他们的代码,并且它非常稳定。

JFreeChart(一个功能强大的图表库) - 不是最好的代码,但比平均值要好得多,特别是考虑到一个旧计划,它从来没有真正用于人们使用它的所有事情。也就是说,它是非常可扩展的,而且我从来没有遇到过将它塑造成符合我需要的问题(这比它的初衷要多得多)。

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

JIDE Common Layer:大量的自定义组件的集合,作为其商业组件的基础。我没有浏览他们的代码,但他们的组件很漂亮,而且由于他们的主要焦点是商业Swing组件,我再一次把钱放在他们的代码中。

3

我发现使用Swing编写的专业质量的应用程序非常有趣,如IntelliJ IDEA Community Edition。现在它是开源的,你可以查看代码并开始挖掘。但是,预先警告,没有评论!