2013-03-12 151 views
18

我有一個Java桌面應用程序,其中圖形用戶界面已經設計了擺動。我們瞭解到JavaFX replacing Swing後,我們用JavaFX取代了圖形用戶界面。JavaFX是否完全替代Swing?

「6.是JavaFX的替代鞦韆,對Java 新的客戶端UI庫SE嗎?是的。但是,鞦韆仍將是可預見的未來的Java SE規範 的一部分,包含在JRE。一方面, Swing廣泛用於現有的Java桌面應用程序,但在舊架構上依賴 ,這需要一定程度的專業知識 和專業化。另一方面,JavaFX具有一組現代的UI控件,可以我們建議開發者儘可能多地利用JavaFX API 當buildi在新的應用程序中,可以在同一應用程序中使用Swing和JavaFX ,從而允許開發人員擴展現有的Swing應用程序。「

現在我們聽說Oracle將JavaFX工具包捐贈給開源社區,並且OpenJDK社區同意接受它。

JavaFX工具包從Sun的F3項目發展而來。最初的 版本基於JavaFX腳本語言,但是,在2011年,該工具包被完全重寫爲Java,並由 Oracle作爲JavaFX 2.0發佈。 2011年10月,Oracle宣佈將向開源社區捐贈JavaFX工具包,並於2011年11月向OpenJDK社區同意推出。

我不這麼認爲JavaFX是穩定的。它沒有快速的支持。文件不夠說明。當舞臺關閉時,它不釋放內存。我的應用程序是多線程應用程序,大部分時間是由我的應用程序更新每個線程的狀態。本地捆綁包中的自包含JRE副本不可靠,我們必須將其替換爲駐留在JDK中的JRE文件夾。

這真的令人沮喪,我想知道,如果JavaFX適合開發Java桌面應用程序。

+4

如果你想分享特定的例子,你會提到的缺陷(穩定性,緩慢的支持等),這將是有趣的。 – 2013-03-12 13:44:33

+1

Swing多年來一直沒有發展。即使JavaFX現在不穩固,我相信它是Java GUI的未來。例如,它將在ARM上的JVM 8上運行。開發應用程序時,是否值得單獨調試/等待補丁的痛苦?如果你現在想使用它,這取決於你:你是一個早期採用者(它具有優勢),我希望JavaFX 8將成爲每個人都希望的完全'穩定'版本。也就是說,我不認爲很多人認爲Swing是未來的Java GUI:每個人都認爲它正在消亡,對於大多數人來說這是傳統技術。 – zenbeni 2013-12-11 13:31:12

回答

9
Is JavaFX complete replacement of Swing? 

我認爲不是,

  • 大部分部件都是在與Swing比較(價格發展???)halfsized,

  • 實現在JavaFX8(入店帶Java8)有一個重要的一點Swing JComponents可以從JavaFX容器訪問,並且JavaFX Components可以在Swing JContainer中訪問(在較新的JavaFX2.2中實現),

  • 那麼JavaFX的將是入店的桌面應用程序開發

  • 仍然問題是,如果將有可能與Swing JTextArea中的一個加在一起的JavaFX文本區域的JPanel,反之亦然(面板從xxx.scene.xxx)

  • 更多(最好的信息,路線圖,發展...)上FX Experience(通知偶爾下跌:-)

+1

但是... [Oracle說不然](http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6) – ItamarG3 2017-07-21 12:23:12

11

據甲骨文,JavaFX的爲Swing的替代品:

http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6,第6題,說:

是JavaFX的更換Swing作爲Java SE的新客戶端UI庫?

。但是,在可預見的未來,Swing仍將是Java SE規範的一部分,因此將包含在JRE中。儘管我們建議開發人員在構建新應用程序時儘可能多地利用JavaFX API,但可以使用JavaFX擴展Swing應用程序,以實現更平滑的過渡。