Java Swing:库,工具,布局管理器

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

  • XUL
  • 布局经理
  • 包装商/安装程序
  • 图书
  • 等等…..

这是我使用的:

  • “框架” : Swing应用程序框架 ,做得不多,但做得很好(如果你使用它,你可能想看看我去年做的一个演示文稿 )
  • JTable :处理表通常很痛苦(许多样板代码……); 我通常使用GlazedLists来简化工作(并带来许多改进)
  • EventBus :在另一个答案中提到了这一点
  • LayoutManager : DesignGridLayout (无耻插件,这是我的一个开源项目)
  • 外观 :在某些您不想使用系统外观的情况下, 物质非常好
  • 停靠库 :如果您的应用程序需要停靠,您会发现MyDoggy很有用(并且它有一个编写良好的API)。 它存在的一个问题是与某些第三方外观的不良整合(如物质)

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

除此之外,我还拥有自己的一组实用程序类,其中包括帮助将GUI与dependency injection库集成:我有一组用于HiveMind容器的实用程序(对于知道它并仍然使用它的少数开发人员) ),另一个 – 准备,很快开源 – 为Guice 。

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

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

  1. 你知道Swing很好
  2. 你想建立“花哨”的GUI

Spring Rich Client和JGoodies是我团队GUI应用程序的基础; 用于连接服务器的Spring remoting和用于部署的Java Web Start。

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

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

自从我现在真正阅读任何Swing书籍以来已经有很长一段时间了。 显然,来自O’Reilly的Java Swing是事实上的圣经:)当涉及到设计书籍时,我确实有很多建议,但这可能不合适?

使用GUI WYSIWYG编辑器的 Netbeans 。 它使创建Java 6 Swing表单变得非常容易。 我将表单子类化以添加function以确保持续的工具支持。

我还使用SwingX作为日期采集器和可折叠面板等小部件。

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

两个有用的Swing相关库:

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

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

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

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

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

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

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