2010-09-21 101 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