JavaFX 第一篇 Hello World

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();}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/80351.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80351.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80351.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SQL實戰:02之連續數問題求解

文章目錄 概述題目:體育館的人流量題解步驟一:構造出一個連續序列步驟二:找出符合條件的組的序號步驟三:fetch結果,使用內連接過濾出符合條件的記錄。完整SQL 題目二:連續出現的數字題解步驟一:分區并構建連…

STM32 的 GPIO和中斷

GPIO的簡單介紹 內部結構 施密特觸發器(TTL肖特基觸發器) 的工作原理: 施密特觸發電路(簡稱)是一種波形整形電路,當任何波形的信號進入電路時,輸出在正、負飽和之間跳動,產生方波或…

Server - 優雅的配置服務器 Bash 環境(.bashrc)

歡迎關注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/147335592 免責聲明:本文來源于個人知識與公開資料,僅用于學術交流,歡迎討論,不支持轉載。 登錄服…

使用PyTorch實現圖像增廣與模型訓練實戰

本文通過完整代碼示例演示如何利用PyTorch和torchvision實現常用圖像增廣方法,并在CIFAR-10數據集上訓練ResNet-18模型。我們將從基礎圖像變換到復雜數據增強策略逐步講解,最終實現一個完整的訓練流程。 一、圖像增廣基礎操作 1.1 準備工作 #matplotli…

解決Mac 安裝 PyICU 依賴失敗

失敗日志: 解決辦法 1、使用 homebrew 安裝相關依賴 brew install icu4c 安裝完成后,設置環境變量 echo export PATH"/opt/homebrew/opt/icu4c77/bin:$PATH" >> ~/.zshrcecho export PATH"/opt/homebrew/opt/icu4c77/sbin:$PATH…

Springboot后端查詢參數接收

1.實現方式 假設前端發送的接口: /users?nameJohn&age30 后端怎么接收里面的name和age呢?以及再發別的參數后端怎么接收呢? 1.比較簡單的方式 當控制器方法的參數類型是簡單類型(如 String、Integer、Long 等&#xff09…

桌面應用中VUE使用新瀏覽器窗口打開頁面

1、瀏覽器應用忽略此方式,可任意方式打開。針對桌面應用設置 newWindowClick(){try {this.fileUrl "";this.params.year ""this.params.date ""axios({method: post,url: /url/pdf/preview,data: this.params,}).then(res> {t…

華為手機怎么進行音頻降噪?音頻降噪技巧分享:提升聽覺體驗

在當今數字化時代,音頻質量對于提升用戶體驗至關重要,無論是在通話、視頻錄制還是音頻文件播放中,清晰的音頻都能帶來更佳的聽覺享受。 而華為手機憑借其強大的音頻處理技術,為用戶提供了多種音頻降噪功能,幫助用戶在…

【數據可視化-22】脫發因素探索的可視化分析

?? 博主簡介:曾任某智慧城市類企業算法總監,目前在美國市場的物流公司從事高級算法工程師一職,深耕人工智能領域,精通python數據挖掘、可視化、機器學習等,發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN人工智能領域的優質創作者,提供AI相關的技術咨詢、項目開發和個…

青少年編程與數學 02-018 C++數據結構與算法 06課題、樹

青少年編程與數學 02-018 C數據結構與算法 06課題、樹 一、樹(Tree)1. 樹的定義2. 樹的基本術語3. 常見的樹類型4. 樹的主要操作5. 樹的應用 二、二叉樹(Binary Tree)1. 二叉樹的定義2. 二叉樹的基本術語3. 二叉樹的常見類型4. 二叉樹的主要操作5. 二叉樹的實現代碼說明輸出示例…

【論文閱讀】Visual Instruction Tuning

文章目錄 導言1、論文簡介2、論文主要方法3、論文針對的問題4、論文創新點總結 導言 本論文介紹了一個新興的多模態模型——LLaVA(Large Language and Vision Assistant),旨在通過指令調優提升大型語言模型(LLM)在視覺…

【學習筆記】Cadence電子設計全流程(三)Capture CIS 原理圖繪制(下)

【學習筆記】Cadence電子設計全流程(三)Capture CIS 原理圖繪制(下) 3.16 原理圖中元件的編輯與更新3.17 原理圖元件跳轉與查找3.18 原理圖常見錯誤設置于編譯檢查3.19 低版本原理圖文件輸出3.20 原理圖文件的鎖定與解鎖3.21 Orca…

js使用IntersectionObserver實現目標元素可見度的交互

文章目錄 1、前言2、代碼實現3、使用場景4、兼容性5、成熟的Hooks推薦 1、前言 IntersectionObserver 是瀏覽器原生提供的一個Api。可以"觀察"我們的元素是否可見,原理是判斷目標元素與可見區域的交叉比例,所以也被稱為"交叉觀察器"…

linux 中斷子系統 層級中斷編程

虛擬中斷控制器代碼&#xff1a; #include<linux/kernel.h> #include<linux/module.h> #include<linux/clk.h> #include<linux/err.h> #include<linux/init.h> #include<linux/interrupt.h> #include<linux/io.h> #include<linu…

蝦皮(Shopee)商品詳情 API 接口概述及 JSON 數據返回參考

前言 一、接口概述 Shopee 商品詳情 API 接口是 Shopee 平臺為開發者提供的&#xff0c;用于獲取商品詳細信息的接口服務。通過該接口&#xff0c;開發者可以獲取商品的標題、價格、庫存、描述、圖片、規格參數、銷量、評價等詳細信息。這些數據為電商數據分析、商品比價工具…

three.js中的instancedMesh類優化渲染多個同網格材質的模型

three.js小白的學習之路。 在上上一篇博客中&#xff0c;簡單驗證了一下three.js中的網格共享。寫的時候就有一些想法&#xff0c;如果說某個場景中有一萬棵樹&#xff0c;這些樹共享一個geometry和material&#xff0c;有沒有好的辦法將其進行一定程度上的渲染優化&#xff0…

MySQL-自定義函數

自定義函數 函數的作用 mysql數據庫中已經提供了內置的函數&#xff0c;比如&#xff1a;sum&#xff0c;avg&#xff0c;concat等等&#xff0c;方便我們日常的使用&#xff0c;當需要時mysql支持定義自定義的函數&#xff0c;方便與我們對于需用復用的功能進行封裝。 基本…

ESP32上C語言實現JSON對象的創建和解析

在ESP32上使用C語言實現JSON對象的創建和解析&#xff0c;同樣可以借助cJSON庫。ESP-IDF&#xff08;Espressif IoT Development Framework&#xff09;本身已經集成了cJSON庫&#xff0c;你可以直接使用。以下是詳細的步驟和示例代碼。 1. 創建一個新的ESP-IDF項目 首先&…

【FAQ】PCoIP 會話后物理工作站本地顯示器黑屏

# 問題 工作人員從家里建立了到辦公室工作站的 PCoIP 連接&#xff0c;該工作站安裝了 HP Anyware Graphics Agent&#xff0c;并且還連接了本地顯示器。然后&#xff0c;遠程用戶決定去辦公室進行本地工作&#xff0c;工作站顯示器顯示黑屏&#xff08;有時沒有信號&#xff…

el-table 目錄樹列表本地實現模糊查詢

table目錄樹結構實現模糊查詢 <el-form :model"queryParams" ref"queryForm" size"small" :inline"true" v-show"showSearch"><el-form-item label"名稱:" prop"Name"><el-input v-mode…