一个很好的Swing项目,用于学习最佳实践

时间:2011-11-02 17:51:56

标签: java swing open-source

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

2 个答案:

答案 0 :(得分:9)

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

阅读JTable,JTree,JScrollPane,各种LookAndFeels,SwingWorker,SwingUtilities的实现。它们的事件处理和MVC模式非常复杂,但非常易读,可维护且可扩展。 Essentailly,每次使用组件时,请阅读源代码并了解他们执行此操作的原因和原因。最终,你将开始做同样的事情。

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

那就是说,以下项目有(或可能有)好的代码:

SwingX - SwingX的维护者是Sun /前孙人,我一直认为它是未来Swing功能的非官方孵化器。

Squirrel(一个JDBC客户端) - 我实际上并没有查看它们的来源,但我已经使用了该程序多年,它没有显示编写错误的Swing程序中的任何常见缺陷。凭借它的强大程度以及它的运作方式,我会把钱写得非常好。

InfoNode(一个强大的对接框架) - 我已经完成了相当多的代码,而且非常可靠。

JFreeChart(一个功能强大的图表库) - 不是最好的代码,但比平均水平要好得多,特别是考虑到它的一个旧项目,它从来没有真正用于做人们正在使用它的所有内容。也就是说,它是非常可扩展的,并且我从来没有遇到过根据我的需求制作它的问题(这远远超过其原始意图)。

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

JIDE Common Layer:大量自定义组件,作为其商业组件的基础。我没有完成他们的代码,但是他们的组件非常漂亮,而且由于他们的主要关注点是商业Swing组件,所以我再次投入他们的代码可靠的钱。

答案 1 :(得分:3)

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