2010-09-21 98 views
4

Spring在其应用程序上下文之外创建的bean不能很好地运行。Spring Swing集成

让我使用JFormDesigner设计我的表单,然后使用Spring来管理组件的动作的最佳方式是什么?

有几种集成Spring和Swing的方法(例如https://www.ibm.com/developerworks/java/tutorials/j-springswing/),但是这种方法需要扩展您希望使用的每个控件,这种方法看起来会增加很多不必要的开销。此外,这种方法不允许我使用JFormDesigner来模拟表单的外观。

我也看了一下Spring Rich Client Project,但看起来它并没有迁移到Spring 3,尽管这看起来很可能在他们将项目托管到Github后立即重新开发。

回答

1

我有一个应用程序,它使用Swing,JFormDesigner构建面板,Spring和Spring RCP。有一个视图类,它为每个视图扩展了RCP的AbstractView,该视图引用了面板(我们称之为)和动作,因此它可以管理它们。每个视图都有一个主面板(可以使用JFormDesigner构建),这是视图引用的一个面板。我不知道这是否是最好的方式,但它运作得很好。

我遇到的主要问题是,定义简单的侦听器引用面板需要太多的配置,如果你想让它们成为Spring bean的话。如果你不这样做,你必须手动将引用传递给所有需要的Spring资源(面板,服务接口等),这也是很多工作。我已经部分地解决了这个问题,方法是将最常见的Spring bean的静态getter写入可以访问应用程序上下文的类。

配置Spring来管理动作和表单都有什么问题?在我们的应用程序中,面板被简单地定义为应用程序配置中的视图属性,没有什么特别的。

+0

这是使用Spring v3吗? – Pram 2010-09-23 04:32:12

+0

@Pram不,它使用2.5。*。然而,我不认为RCP本身在这种方法中是相关的,因为我没有看到用Spring来管理面板的问题,因为每个视图只有一个面板。我认为这也可以在没有RCP的情况下完成。在使用RCP之前,我还必须警告您慎重考虑,因为在过去六年中,开发活动并不太活跃,目前的文档也不够完善。不过,我不确定有多少替代方案以及他们需要多少工作。我修改了我的答案。 – Carlos 2010-09-23 06:40:52

+0

感谢您的信息。由于缺乏活动,我对使用RCP有点犹豫。 我将介绍AbstractView范例的工作原理 – Pram 2010-09-23 08:55:08