JavaFX11工具包Win64是Java官方最新推出的一套JavaFX圖形和多媒體工具包應(yīng)用,基于Java語(yǔ)言構(gòu)建,將JavaFX模塊與JDK分開提供,讓開發(fā)者編寫程序更加高效快捷,歡迎下載使用!
JavaFX11工具包Win64介紹:
JavaFX 11 OpenJFX是一個(gè)開源的下一代客戶端應(yīng)用程序平臺(tái),用于基于Java構(gòu)建的桌面,移動(dòng)和嵌入式系統(tǒng)。
這是許多個(gè)人和公司的共同努力,目標(biāo)是為開發(fā)富客戶端應(yīng)用程序生成一個(gè)現(xiàn)代,高效且功能齊全的工具包。
JavaFX 11構(gòu)建于Java 11之上,計(jì)劃于2018年9月25日在相同的時(shí)間范圍內(nèi)發(fā)布。從Java 11開始,JavaFX框架是一個(gè)獨(dú)立的組件。開發(fā)JavaFX應(yīng)用程序有兩種不同的選擇:
下載并安裝JavaFX SDK
使用構(gòu)建系統(tǒng)(例如maven / gradle)從Maven Central下載所需的模塊。
JavaFX11工具包Win64用法:
1、使用JavaFX 11運(yùn)行HelloWorld
下載適用于您的操作系統(tǒng)的JavaFX SDK。
您現(xiàn)在可以從命令行編譯和運(yùn)行JavaFX 11應(yīng)用程序。 為此,您必須將模塊路徑指向JavaFX模塊的位置,例如
export PATH_TO_FX = / path / to / javafx-sdk-11 / lib
編譯代碼(例如使用HelloFX.java)如下:
javac --module-path $ PATH_TO_FX --add-modules = javafx.controls HelloFX.java
確保添加所需的模塊,同時(shí)考慮傳遞依賴性(因此不需要添加javafx.graphics模塊,因?yàn)閖avafx.controls模塊需要它)。
接下來(lái),運(yùn)行應(yīng)用程序:
java --module-path $ PATH_TO_FX --add-modules = javafx.controls HelloFX
2、使用Maven運(yùn)行HelloWorld
如果要使用maven開發(fā)JavaFX應(yīng)用程序,則無(wú)需下載JavaFX SDK。 只需在pom.xml中指定所需的模塊和版本,構(gòu)建系統(tǒng)將下載所需的模塊,包括適用于您平臺(tái)的本機(jī)庫(kù)。
這是一個(gè)pom.xml文件,顯示了如何實(shí)現(xiàn)這一目標(biāo)。
使用以下命令運(yùn)行應(yīng)用程序(例如使用HelloFX.java):
mvn編譯exec:java
注意:確保將JAVA_HOME環(huán)境變量設(shè)置為JDK 11。
3、使用Gradle運(yùn)行HelloWorld
與Maven類似,我們可以將JavaFX jar聲明為build.gradle中的依賴項(xiàng)。但是,對(duì)于Gradle,我們需要找到并指定平臺(tái)/ OS作為分類器。這需要一個(gè)小腳本:
在Gradle中解決傳遞依賴性時(shí)不考慮分類器,我們需要使用platform作為分類器指定所有三個(gè)JavaFX模塊。
接下來(lái),我們將--module-path設(shè)置為可能是類路徑的值,并將javafx.controls作為模塊添加到j(luò)avac和java命令中。
這是一個(gè)build.gradle文件,它顯示了如何實(shí)現(xiàn)這一目標(biāo)。
使用以下命令運(yùn)行應(yīng)用程序(例如使用HelloFX.java):
gradle run
注意:確保使用gradle版本4.8+并將JAVA_HOME環(huán)境變量設(shè)置為JDK 11。
更新內(nèi)容:
JavaFX 模塊指定:因?yàn)?JDK 不再包含 JavaFX,那么必須明確包含應(yīng)用程序使用的 JavaFX 模塊,詳情見:https://openjfx.io/openjfx-docs/。
添加 API 以自定義 Spinner 控件的步驟重復(fù)計(jì)時(shí)。在 JavaFX 11 中修改值步驟之前,必須在 Spinner 控件箭頭按鈕上按下鼠標(biāo)一段默認(rèn)持續(xù)時(shí)間,JavaFX 11 中已添加兩個(gè)新屬性“initialDelay”和“repeatDelay”來(lái)配置此操作。
javafx.* 模塊現(xiàn)在由應(yīng)用程序類加載器加載,默認(rèn)情況下不再具有權(quán)限。想要在啟用安全管理器的情況下運(yùn)行的應(yīng)用程序需要使用“-Djava.security.policy”指定自定義策略文件,并為每個(gè) javafx.* 模塊授予所有權(quán)限。
默認(rèn) GTK 版本從 v2 更新為 v3。將在存在 gtk3 庫(kù)的 Linux 平臺(tái)上使用 GTK 3。
新增:添加了公共 FX Robot API 以支持模擬用戶交互,例如在鍵盤上輸入,使用鼠標(biāo)并捕獲圖形信息。
移除:FX Media 移除了對(duì) libavcodec 53 和 55 的支持。
OpenJDK 11 環(huán)境下,JavaFX 在 Ubuntu 18.04 上啟用 Wayland 時(shí)崩潰。
使用 JDK 10 運(yùn)行時(shí),Swing interop 需要標(biāo)準(zhǔn)的導(dǎo)出配置。
使用具有獨(dú)立 SDK 的安全管理器運(yùn)行時(shí),Swing interop 失效。
使用 jlink 創(chuàng)建的小 jdk 映像時(shí),Swing interop 失效。