1、簡介
????????JavaFX 是一個用于構建客戶端應用程序的 Java 庫,作為 Java 標準庫的一部分(JDK 8 到 10),從 JDK 11 開始,JavaFX 將以獨立模塊發布,將不再包含在 JDK標準庫中,他是 Java 應用程序開發的主要 GUI 庫。
2、特性
- 支持 CSS 樣式、動畫和視覺特效
- FXML:基于 XML 的聲明式 UI 定義語言
- Scene Builder:可視化布局設計工具
- WebView:集成 Web 內容的組件
- 多媒體支持:音頻、視頻和圖像處理
- 3D 圖形支持:三維場景渲染能力
- Windows、macOS、Linux 等平臺上都可運行
3、基本架構組件
Stage:頂層容器,相當于應用程序的窗口
Scene:場景,Stage 中可以切換不同的 Scene
Scene Graph:場景圖,一個樹狀結構,包含了所有 UI 元素
Nodes:節點,最重要的組件之一,絕大部分的控件都是Nodes的子類,它可以是控件、容器、形狀等
?4、工程搭建與第一個案例
(1)開發工具與版本
- 開發工具:IntelliJ IDEA 2020.2.3?
- Java版本:JDK8
- JavaFX版本:8(8版本的JDK已經內置了javaFx,JDK11以后,JavaFX成為一個獨立的模塊發布)
(2)工程搭建
?(3)簡單示例
/*** @description: javafx的第一個示例 hello world* @author: HK* @since: 2025/4/23 15:06*/
public class Demo extends Application { // 類需要集成javaFx的Application,并重寫start方法public static void main(String[] args) {// 啟動類 javafx啟動不是直接調用start()方法,而是調用Application的launch()方法,Application內部會自動調用start()方法launch();}@Overridepublic void start(Stage primaryStage) throws Exception {// primaryStage窗體,Application已經創建了一個默認的窗體,我們也可以自己自定義創建// 創建一個text節點Text text = new Text("hello javafx");// 創建一個根節點布局 并將節點放入布局BorderPane pane = new BorderPane(text);// 將布局放入場景Scene scene = new Scene(pane);// 將場景放入窗體primaryStage.setScene(scene);// 設置窗體大小primaryStage.setWidth(500);primaryStage.setHeight(500);// 設置窗體的標題primaryStage.setTitle("hello world");// 設置窗體顯示primaryStage.show();}
}