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

16
你的Java Swing工具集有哪些库/工具?
- XUL - 布局管理器 - 打包/安装程序 - 书籍 - 等等......
7个回答

8

这是我使用的内容:

  • "框架": Swing应用程序框架,虽然功能不多,但它做得非常好(如果您使用它,您可能想看一下我去年做的一个演示文稿
  • JTables: 处理表格通常很痛苦(有很多样板代码...); 我通常使用 GlazedLists,它大大简化了工作(并带来了许多改进)
  • EventBus: 这在另一个答案中提到过
  • LayoutManager: DesignGridLayout(厚颜无耻的广告,这是我的一个开源项目之一)
  • 外观: Substance 在某些情况下非常好,您不想使用系统外观
  • 停靠库: 如果您的应用程序需要停靠,则会发现 MyDoggy 很有用(并且具有良好编写的API)。它有一个问题是与某些第三方外观(如Substance)集成不良

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

除此之外,我还有自己的一套实用类,其中包括帮助将GUI与依赖注入库集成的工具:我有一组HiveMind容器的实用程序(为了少数仍在使用它的开发人员),另一个正在准备中,并将很快开源的Guice

我没有读过关于Swing开发的特定书籍,但我已经使用Swing大约10年了(虽然不是连续使用)。因此,我在书籍方面没有推荐(不幸的是,因为我承认这是Swing的一个弱点)。

只有当:

  1. 您对Swing很熟悉
  2. 您想要构建“花哨”的GUI时,“Filthy Rich Clients”书籍才有用

6

我们团队的GUI应用程序基于Spring Rich ClientJGoodies。使用Spring远程连接服务器,使用Java Web Start进行部署。


4

除非GUI非常简单,我基本上只在生产代码中使用GridBagLayout。我有时会研究其他的布局管理器,但从未真正发现需要改变,因为GridBagLayout几乎可以满足我所有的需求。

我用于自己的安装程序是izPack,目前为止它对我很有效。

我已经很久没有读过任何Swing书籍了。显然,O'Reilly出版的Java Swing是权威的圣经 :) 当涉及到设计书籍时,我有很多建议,但那可能不是主题?


7
完全理解Gridbag - http://madbean.com/anim/totallygridbag/ - Ran Biron
@Ran Biron,这是我在SO上看到的最好的评论。这让我想起了我的GridBagLayout经历。有一次,我甚至为我所做的大部分事情编写了一个GridBagLayout包装器,但真正理解它很难。+1为这个答案,让更多的人看到这个评论 :) - Dan Rosenstark

2
使用具有GUI WYSIWYG编辑器的Netbeans非常容易创建Java 6 Swing表单。我对这些表单进行子类化以添加功能,以确保持续的工具支持。我还使用SwingX来获取日期选择器和可折叠面板等小部件。此外,JRE中始终存在SwingWorker用于运行更新UI的后台作业。

1

两个有用的Swing相关库:

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

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

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

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


0

并不是一个工具,但我一直在努力为Swing(和其他几个API)的JavaDocs注释重要内容。太多的方法包含意外之处,比如“如果你想要刷新,请不要调用这个方法,而是调用X”。我使用了我为博士学位编写的工具来访问那种信息(它会在源代码中突出显示调用具有这些特性的方法)。

在我看来,Swing的JavaDocs很难使用,因为它们结合了为使用对象和子类化现有类的人提供的信息。


听起来很有趣。你会发布给我们其他人使用吗? - willcodejavaforfood
现在它只支持Eclipse。我还需要做一些清理工作并更新注释数据库,然后在三月底的Eclipsecon上展示它,但如果你想尝试一下,可以访问http://emoose.cs.cmu.edu或联系我,我很乐意帮助你安装。 - Uri

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接