2013-08-26 26 views
6

有沒有人知道爲什麼JavaFX 8在即將到來的Java 8中仍然不是日常的J2SE API?爲什麼JavaFX API不包含在Java 8 J2SE中?

顯示所有Java組件的技術圖清楚地將JavaFX從J2SE堆棧中排除。

我想在Java JDK javadocs中並排查看JavaFX和Swing API並想知道爲什麼Oracle不能/不能給我們這樣的結果?關於JavaFX不同狀態(與J2SE中包含的其他標準相比)的話題,任何人都可以解釋爲什麼JavaFX的作者覺得有必要重新創建輪子,以創建像AWT/Swing不兼容的概念FX字體,FX顏色等?

回答

3

JavaFX Roadmap.

按照FAQ -

作爲JavaFX的2.2和Java SE 7更新6,JavaFX的庫 安裝與Java SE的一部分;

對於擺動本部

是JavaFX的替代鞦韆作爲Java SE的新客戶端UI庫?

是的。但是,在可預見的將來,Swing仍然是 的Java SE規範的一部分,因此包含在JRE中。

JavaFX足夠寬泛,擁有像Java SE或Java EE一樣的獨立層次結構。

您可以看到定義here

的Java SE

當大多數人認爲的Java編程語言的,他們認爲 了Java SE API。 Java SE的API提供了 Java編程語言的核心功能。它定義了從基本類型 和Java編程語言對象到高級類 的所有內容,這些類用於網絡連接,安全性,數據庫訪問,圖形化用戶界面(GUI)開發和XML解析。

的Java EE

Java EE平臺是建立在Java SE平臺之上。 Java EE平臺爲開發和運行大規模,多層次,可擴展,可靠和安全的網絡應用程序提供了API和運行時環境。

的Java ME

Java ME平臺提供了一個API和一個小巧的虛擬 機上的小 設備上運行的Java編程語言的應用,如手機。 API是Java SE API的一個子集, 以及用於小型設備應用程序 開發的特殊類庫。 Java ME應用程序通常是Java EE 平臺服務的客戶端。

JavaFX的

JavaFX是用於創建使用 輕量級用戶界面API豐富的互聯網應用程序的平臺。 JavaFX應用程序使用 硬件加速圖形和媒體引擎來利用更高性能的客戶端和現代外觀以及 高級API來連接到聯網數據源。 JavaFX 應用程序可能是Java EE平臺服務的客戶端。

+0

「作爲一部分安裝」與在javadoc中並排居住不同。如果您查看http://download.java.net/jdk8/docs/index.html ,則可以清楚地看到(圖的右側)J2SE邊界在JavaFX之前結束。因此JavaFX不是J2SE的一部分。爲什麼?有什麼障礙?什麼魔法可以防止JavaFX API像Swing一樣(例如)? – Vincent

+0

@Vincent我編輯並鏈接到http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html –

2

JavaFX是在JDK7並從Java 8的默認類路徑的JavaSE的一部分:你不需要做任何特殊使用JavaFX組件(除了增加相關import語句,就像鞦韆)。

關於你的最後一個問題,我不能爲API的設計者說話,但是由於字體和顏色可以通過css文件導入,所以產生的API有點接近你在css文件中指定的任何東西,例如一個字體屬於一個家庭,有一個風格和一個尺寸。

3

JavaFX計劃在JavaSE 9(作爲JSR)的時間框架內成爲JavaSE的一個獨立部分。與此同時,Oracle將JavaFX作爲其JavaSE實現的一部分(但其他供應商很可能不會)。

爲什麼JavaFX的的作者認爲絕對有必要重新發明 輪創造一個像FX字體AWT/Swing的不相容的概念,FX 顏色,等等?

JavaFX是一個現代化的UI工具包,使用與圖形卡緊密配合的軟件堆棧(如果有的話)。