【问题标题】:A good Swing project for learning best practices [closed]一个学习最佳实践的好 Swing 项目 [关闭]
【发布时间】:2011-11-02 17:51:55
【问题描述】:

我希望有一些用 Java 开发的项目来学习 Swing 最佳实践。我的意思是通过 SVN 或类似方式托管在 Internet 上的开源项目。我一直在 Stackoverflow 中阅读有关此主题的一些问题,但我会看到一些项目。谢谢。

【问题讨论】:

    标签: java swing open-source


    【解决方案1】:

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

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

    最重要的是,代码。编写一些大型程序,你会开始看到一些看起来不正确或不理想的东西。来 Stack 看看你做错了什么或者可以做得更好。写点别的,照着做。

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

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

    Squirrel(一个 JDBC 客户端)——我实际上并没有查看它们的源代码,但我已经使用该程序多年,并且它没有显示出任何写得不好的 Swing 程序的常见缺陷。凭借它的强大功能和运行效果,我会投入资金,因为它写得非常好。

    InfoNode(一个强大的对接框架)——我已经看过他们的很多代码了,而且非常扎实。

    JFreeChart(一个强大的图表库)- 不是最好的代码,但比平均水平要好得多,特别是考虑到它是一个老项目,从来没有真正打算做人们使用它的所有事情。也就是说,它具有很强的可扩展性,而且我从来没有遇到过根据我的需要来塑造它的问题(这远远超过了它的初衷)。

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

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

    【讨论】:

      【解决方案2】:

      我发现看到一个用 Swing 编写的专业品质的应用程序非常有趣,例如IntelliJ IDEA Community Edition。现在它是开源的,您可以查看代码并开始深入研究。不过请注意,没有 cmets!

      【讨论】:

        猜你喜欢
        • 2010-09-22
        • 1970-01-01
        • 1970-01-01
        • 2023-02-05
        • 1970-01-01
        • 2011-03-11
        • 2023-03-04
        • 1970-01-01
        • 2014-05-15
        相关资源
        最近更新 更多