我想如果有一些用Java开发的项目来学习Swing最佳实践。我是指通过SVN或类似网站在互联网上托管的开源项目。我一直在阅读有关此主题的Stackoverflow中的一些问题,但我会看到一些项目。谢谢。
我想如果有一些用Java开发的项目来学习Swing最佳实践。我是指通过SVN或类似网站在互联网上托管的开源项目。我一直在阅读有关此主题的Stackoverflow中的一些问题,但我会看到一些项目。谢谢。
我学习Swing最佳实践的方法是在JDK中阅读Swing源代码并练习。遵循Sun的做法,您将走上正确的道路。
阅读JTable,JTree,JScrollPane,各种LookAndFeels,SwingWorker,SwingUtilities的实现。它们的事件处理和MVC模式非常复杂,但非常易读,可维护且可扩展。 Essentailly,每次使用组件时,请阅读源代码并了解他们执行此操作的原因和原因。最终,你会开始做同样的事情。
最重要的是,代码。写一些大型程序,你会开始看到看起来不正确或最佳的东西。来吧,找出你做错了什么或者做得更好。写下别的东西,并做同样的事情。
也就是说,以下项目有(或可能有)良好的代码:
SwingX - SwingX的维护者是Sun /前孙人,我一直认为它是未来Swing功能的非官方孵化器。
松鼠 (一个JDBC客户端) - 我实际上并没有查看它们的来源,但我已经使用了该程序多年,它没有显示编写错误的Swing程序中的任何常见缺陷。凭借它的强大程度以及它的运作方式,我会把钱写得非常好。
InfoNode (一个强大的对接框架) - 我已经完成了相当多的代码,而且非常可靠。
JFreeChart的 (一个功能强大的图表库) - 不是最好的代码,但比平均值好得多,特别是考虑到它的一个旧项目,它从来没有真正打算做人们使用它的一切。也就是说,它是非常可扩展的,而且我从来没有遇到过根据我的需求制造它的问题(这远远超过其原始意图)。
GlazedLists (一个高性能的基于事件的列表库) - 不完全是Swing,但它的事件处理类似于Swing。它们还具有Swing模型的实现和一些非常快的自定义组件。
JIDE Common Layer:大量自定义组件,作为其商业组件的基础。我没有完成他们的代码,但他们的组件很漂亮,而且由于他们的主要关注点是商业Swing组件,所以我再次投入资金,他们的代码是可靠的。
我发现用Swing编写的专业品质的应用程序非常有趣,例如 IntelliJ IDEA Community Edition
。现在它是开源的,你可以查看代码并开始挖掘。但是,预先警告,没有评论!