如何实际使用Swing应用程序框架?

时间:2009-02-10 12:59:11

标签: java swing swing-app-framework

我想学习如何有效地使用Swing Application Framework。我发现的大多数示例都是博客条目,它们只是解释了如何扩展SingleFrameApplication并覆盖其启动方法,但这就是它。 Sun's article差不多有两年了,the project's own introduction也是如此,从那时起,显然已有一些进化。

是否有最新的全面教程/ HOWTO可供选择?当然有JavaDoc,但很难从中获得全局。任何指针都表示赞赏。

更新:我意识到项目网站上有一个mailing list archive。虽然有些笨拙(与StackOverflow相比),但似乎非常活跃。遗憾的是,任何地方都没有真正的教程。信息分散在各处。

更新2:让我澄清一下 - 我在使用Swing(widget工具包)本身时遇到了麻烦,我在谈论它的 Application Framework ,这是应该缓解应用程序生命周期(启动,退出以及它们之间发生的任何事情),动作管理等等 - 也就是大多数Swing应用程序需要的东西。让这样的框架成为standard part of Java很酷。唯一的问题是要了解它的用途。

更新3:对于感兴趣的人,在项目论坛上只讨论了JSR 296的当前状态和未来。很快:当前版本1.03被认为是非常有用的,< b>但 API不稳定,更改为Java 7中的最终版本。软件包名称也将更改,因此Java 7不会破坏在SAF上创建的当前应用程序。< / p>

更新4: Karsten Lentzsch在上述论坛上表示:“我怀疑它是否可以包含在Java 7中;我将投反对票。”我宁愿不怀疑这位伟大的大师的诚意,并且明智的做法是不要让任何有缺陷的东西进入核心JDK,但坦率地说这是一个奇怪的情况 - 他是JGoodies Swing Suite的作者,它是部分商业竞争对手JSR 296,他正在委员会中决定是否将这个JSR包含在标准Java中。我之前写过的JSR 295 Beans Binding也是如此。

鉴于SAF的当前状态,我认为最好的解决方案是将当前实现包装成“自制”框架,然后可以适应现有API的可能更改。

5 个答案:

答案 0 :(得分:5)

首先,我个人的建议是不要使用SAF的最新版本,这更像是“正在进行重构”(现在已经有6个月没有进化......)

我更喜欢版本“1.03”,虽然不是很完美,但它更加稳定和可用(我的意思是在现实生活中)。

关于SAF的资源确实很少。我记得我沿着这条道路前进:

  • 阅读JavaOne 2007 seminar 关于它;这给了一个很好的 关于它的图片

  • 使用它并在需要时读取javadoc

  • 有时会对源代码进行一些调查以减轻javadoc缺乏

邮件列表目前不是那么活跃(但是真正的流量自今年年初以来刚刚重新开始,但是,自2008年8月或9月以来,我还没有看到任何Sun代表!)

去年,在SAF练习了大约一年后,我在Jazoon '08上发表了演讲,你可以找到幻灯片on my blog。这个演示更多的是关于提示&amp;我在使用框架时收集的技巧。

有时我也不得不自己修补一些问题,因为很多问题都是长期存在的(有些问题对我来说不重要,有些问题也不重要)。

我记得在瑞典的一个会议上看过(没有参加过)关于SAF实践的另一个演讲,抱歉记不起更多细节了。也很有趣。

这就是它的存在(据我所知)。

答案 1 :(得分:3)

Netbeans 6.5具有骨架应用程序,可以为您提供良好的kickstart。只需在IDE中创建一个新项目,然后选择Java&gt; Java桌面应用程序。

答案 2 :(得分:0)

不是我知道的。我决定避免使用swing app框架,直到它成熟(或死亡)。我决定使用 jgoodies 库来等待Sun为摇摆开发者做点什么。

答案 3 :(得分:0)

您可以查看SwingWiki,其中包含一系列最佳做法和教程,但大约两年没有更新。

答案 4 :(得分:0)

虽然过去两年中Swing已经出现了一些变化,但基本面没有太大变化。我将从Sun自己的教程开始。

如果你想要书籍,那么通常的嫌疑人(McGraw Hill,O'Reilly)和其他人可以获得大量知识。有些书籍通过旧名称“Java基础类”或JFC来引用Swing。