【问题标题】:Java Swing: Libraries, Tools, Layout Managers [closed]Java Swing:库、工具、布局管理器 [关闭]
【发布时间】:2010-10-02 07:26:15
【问题描述】:

您的 Java Swing 工具集中有哪些库/工具?

  • XUL
  • 布局管理器
  • 打包程序/安装程序
  • 书籍
  • 等......

【问题讨论】:

    标签: java swing devtools


    【解决方案1】:

    这是我使用的:

    • “框架”Swing Application Framework,没做太多,但确实 它很好(如果你使用它,你可以 想看看one presentation我去年做的)
    • JTables:处理表格通常是 痛苦(大量样板代码......);一世 一般使用GlazedLists 大大简化了工作(并带来 许多改进)
    • EventBus:这在 另一个答案
    • 布局管理器DesignGridLayout (无耻插件,这是我的一个 开源项目)
    • 外观和感觉Substance 非常好 在某些你不知道的情况下 想要使用系统的外观和感觉
    • 停靠库:如果您的应用程序 需要对接,你会找到MyDoggy 有用的(它有一个写得很好的 API)。它的一个问题是与某些第三方外观和感觉(如 Substance)的不良集成

    以上所有这些库都是开源的。

    除此之外,我还有自己的一组实用程序类,其中包括帮助将 GUI 与依赖注入库集成:我有一组用于 HiveMind 容器的实用程序(对于少数知道它并仍在使用它),以及另一个 - 准备中,即将开源 - 为Guice

    我没有阅读过关于 Swing 开发的具体书籍,但我已经使用 Swing 大约 10 年了(但不是一直使用)。因此,我对书籍没有任何建议(很遗憾,因为我承认这是 Swing 的一个弱点)。

    “肮脏的富客户”一书仅在以下情况下才有用:

    1. 你很了解 Swing
    2. 您想构建“精美”的 GUI

    【讨论】:

      【解决方案2】:

      Spring Rich ClientJGoodies 是我团队 GUI 应用程序的基础;用于连接服务器的 Spring 远程处理,以及用于部署的 Java Web Start。

      【讨论】:

        【解决方案3】:

        我几乎只将 GridBagLayout 用于生产代码,除非 GUI 如此简单以至于我可以使用 BorderLayout。我有时会查看其他 LayoutManager,但从未真正发现需要更改,因为 GridBagLayout 几乎可以完成我需要的任何事情。

        我用于自己的东西的安装程序是izPack,到目前为止对我有用。

        我已经很久没有真正阅读任何 Swing 书籍了。显然,来自 O'Reilly 的 Java Swing 是事实上的圣经 :) 说到设计书籍,我确实有很多建议,但这可能跑题了?

        【讨论】:

        • 完全是 Gridbag - madbean.com/anim/totallygridbag
        • @Ran Biron,这是迄今为止我在 SO 上看到的最好的评论。这让我想起了我的 GridBagLayout 经历。有一次,我什至为我所做的大部分事情编写了一个 GridBagLayout 包装器,但很难真正理解。对此答案 +1,让更多人看到此评论:)
        【解决方案4】:

        NetbeansGUI WYSIWYG editor。它使创建 Java 6 Swing 表单变得非常容易。我将表单子类化以添加功能以确保持续的工具支持。

        我还将SwingX 用于日期选择器和可折叠面板等小部件。

        此外,JRE 中始终有 SwingWorker 用于运行更新 UI 的后台作业。

        【讨论】:

          【解决方案5】:

          两个有用的 Swing 相关库:

          1. Swing Application Framework 是一个轻量级框架,可简化中小型 Java 桌面应用程序的创建和维护。该框架由一个 Java 类库组成,该类库支持以下内容的构造:

            • 记住会话之间的状态。
            • 更轻松地管理操作,包括 作为后台任务运行和 指定阻止行为。
            • 增强的资源管理, 包括bean的资源注入 特性。

            Here's 一篇关于它的文章。它已与 Netbeans 6.0 及更高版本集成。

          2. EventBus 是一个面向 Swing 的发布者-订阅者框架,我发现它对于更新 GUI 非常有用。

          【讨论】:

            【解决方案6】:

            不是一个真正的工具,但我一直致力于在 JavaDocs for Swing(和其他几个 API)中注释重要的东西。太多的方法包含“如果你想刷新就不要调用这个,而是调用 X”这样的惊喜。我使用我为博士学位构建的工具来访问此类信息(它突出显示源代码中对具有此类内容的方法的调用)。

            恕我直言,swing 的 JavaDocs 很难使用,因为它们结合了适用于使用对象的人和子类化现有类的人的信息。

            【讨论】:

            • 听起来很有趣。您打算向我们其他人提供什么?
            • 目前只支持Eclipse。在 3 月底的 Eclipsecon 上展示之前,我还需要进行一些清理和更新注释数据库,但如果你想尝试一下,请访问 emoose.cs.cmu.edu 或联系我,我很乐意帮助你安装。
            【解决方案7】:

            对于书籍,请查看Swing Programming Books 的答案。

            【讨论】:

              猜你喜欢
              • 2015-08-03
              • 1970-01-01
              • 2011-09-13
              • 1970-01-01
              • 2011-06-11
              • 2011-10-27
              • 2020-11-22
              • 2010-10-07
              • 1970-01-01
              相关资源
              最近更新 更多