2009-02-10 92 views
10

我想了解如何有效使用Swing Application Framework。我發現的大部分示例都是博客條目,只是解釋如何更好地擴展SingleFrameApplication並覆蓋其啓動方法,但這就是關於它的原因。 Sun's article差不多兩年了,the project's own introduction也是這樣,從那以後顯然有一些進化。如何實際使用Swing應用程序框架?

是否有任何近期和徹底的教程/ HOWTOs隨處可用?當然有JavaDoc,但很難從那裏獲得大局。任何指針讚賞。

更新:我意識到該項目的網站上有一個mailing list archive。雖然有點笨拙(與StackOverflow相比),但它似乎相當活躍。但遺憾的是,在任何地方都沒有真正的教程。信息分散在這裏和那裏。

更新2:讓我澄清一下 - 我不使用的Swing(小部件工具包)本身有問題,我說的是它的應用程序框架,這是爲了緩解之類的應用程序生命週期(啓動,退出以及他們之間發生的任何事情),行動管理等 - 也就是大多數Swing應用程序需要的東西。得到這樣的框架是standard part of Java很酷。唯一的問題是要了解它是如何使用的。

更新3:對於感興趣的,只是有在該項目的有關JSR 296.不久的現狀和未來的論壇上一些討論:當前版本1.03被認爲是非常有好處的,的API並不穩定,並且更改爲Java 7中的最終版本。程序包名稱也將更改,以便Java 7不會中斷在SAF上創建的當前應用程序。

更新4: Karsten Lentzsch在上述論壇上表示:「我懷疑它可以包含在Java 7中,我會投反對票。」我不想質疑這位偉大導師的誠意,明智的做法不是讓任何缺陷陷入核心JDK中,但坦白說這是一個奇怪的情況 - 他是JGoodies Swing Suite的作者,它部分是商業競爭者JSR 296,他正在委員會中決定是否將此JSR包含到標準Java中。我之前寫過的JSR 295 Beans Binding也是一樣的。

鑑於SAF的當前狀態,我認爲最好的解決方案是將當前的實現包裝成一個「自制」框架,然後可以適應對現有API的可能更改。

回答

5

首先,我個人的建議是不要使用最新版本的SAF的這更像是「正在進行重構」(這還沒有進化爲6個月,現在...)

我多更喜歡版本「1.03」,雖然不完美,但更穩定和可用(我的意思是在現實生活中)。

關於SAF的資源確實很稀缺。我記得我跟着這條道路:

  • 閱讀JavaOne 2007 seminar 一下;這給出了一個相當不錯的 圖片吧

  • 使用它,每當需要

  • 閱讀的javadoc有時採取了一些着眼於源代碼,以圖減輕的javadoc缺少

這個郵件列表是不(但是從今年年初開始,真正的流量纔剛剛重新啓動,但是,自2008年8月或9月以來,我還沒有看到任何Sun代表!)

去年,在與SAF練習約一年後,我在Jazoon'08上發表了演講,你可以找到幻燈片on my blog。此演示文稿更多地介紹了在使用框架時收集的技巧&。

有時我還需要自己修補一些問題,因爲很多問題都是長期存在的(對我來說有些並不重要,其他一些阻塞)。

我記得在瑞典的一次會議上看到過(沒有出席)關於SAF實踐的另一個演講,抱歉不記得更多細節。也很有趣。

這幾乎是存在的(據我所知)。

0

不是我所知道的。我決定避免使用swing應用程序框架,直到它成熟(或死亡)。我決定使用jgoodies庫來等待Sun爲swing開發者做些事情。

+0

我已經在使用JGoodies Binding(免費),我會認真考慮購買JGoodies整個Swing套件(昂貴)。這確實是非常高質量的東西。 – 2009-02-10 13:25:54

+0

你能添加一個鏈接嗎? – 2009-02-10 13:30:56

+0

http://jgoodies.com/ – 2009-02-10 13:38:26

0

你可以看看SwingWiki,它有一系列的最佳實踐和教程,雖然它已經有兩年沒有更新過了。

3

Netbeans 6.5有骨架應用程序,可以給你一個很好的kickstart。只需在IDE中創建一個新項目並選擇Java> Java Desktop Application。

0

儘管在過去兩年裏Swing已經有了一些演變,但基本面並沒有太大變化。我會從Sun自己的教程開始。

如果你想要書籍,那麼通常的嫌疑犯(McGraw Hill,O'Reilly)和其他人都可以獲得大量的知識。有些書籍以舊名稱「Java Foundation Classes」或JFC引用Swing。

相關問題