精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

手把手教你使用JavaFX

譯文
開發 后端
本文介紹了JavaFX的主要特性、應用結構、以及各個組件,并且以實例形式展示了如何使用JavaFX來構建GUI應用。

[[411015]]

【51CTO.com快譯】1.概述

JavaFX是一個可被用于構建富互聯網應用(Rich Internet Applications,RIA)的Java庫。它通過提供一組圖形和媒體包,使開發人員能夠設計、創建、測試、調試、以及部署富客戶端的應用程序,并使之能夠在不同平臺上保持運行的一致性。

通過提供豐富的圖形用戶界面,JavaFX可以實現專用于動畫、2D和3D幾何、圖表、特殊效果、顏色漸變、圖形控件、以及多媒體(包括:音頻、視頻和圖像)的簡單操作結構與API。

2.JavaFX的主要特性

  • 跨平臺兼容性:JavaFX可被用于Windows、Linux、以及MacOSX等主流桌面操作系統。
  • Java庫:作為一個Java庫,JavaFX是由原生Java代碼編寫的類和接口所組成。
  • FXML:它是一種基于XML的聲明性標記語言,可用于定義JavaFX應用的用戶接口結構。
  • WebView:作為一個Web組件,它使用WebKitHTML技術在JavaFX應用程序中嵌入HTML內容。在WebView中運行的JavaScript可以實現與JavaAPI的相互調用。
  • Swing互操作性:現有的Swing應用程序可以通過諸如嵌入式Web內容、以及豐富的圖形媒體等JavaFX功能,來實現更新。相比使用Swing,我們更容易使用JavaFX來創建豐富的內容。
  • 各種內置的UI控件:JavaFX提供了開發全功能應用所需的各種主要UI控件。
  • 類CSS樣式:JavaFX可以使用諸如CSS的標準Web技術,來進行外觀設計。同時,它通過提供類似CSS的樣式,來改進我們的應用設計。
  • Canvas API:該API支持直接在由一個圖形元素組成的JavaFX場景區域內繪圖。
  • 多點觸控支持:JavaFX針對底層平臺的功能,提供了對多點觸控操作的支持。
  • 集成圖形庫:JavaFX提供了各種可用于2D和3D圖形的類。
  • 圖形管道:JavaFX支持那些基于硬件加速圖形渲染管道(hardware-accelerated graphics rendering pipeline,或被稱為Prism)的圖形。也就是說,當與被支持的圖形卡或GPU一起使用時,它能夠提供流暢的圖形。如果系統不支持某個圖形卡,那么Prism則會被默認為軟件渲染棧。
  • 自包含的應用部署模型:此類自包含應用包具有所有應用程序資源,以及Java和JavaFX運行時的私有副本。它們作為可安裝在本機軟件包被分發,并提供了與操作系統上本地應用相同的安裝和啟動體驗。

3.JavaFX的應用結構

如上圖所示,JavaFX使用一個劇院模型,來比喻圖形應用的建模。

舞臺(Stage)

  • 舞臺代表了頂級容器或窗口。它包含JavaFX應用中的所有對象。
  • 它是由JavaFX.stage.Stage類所定義的。
  • 我們可以通過傳遞其尺寸(即:高度和寬度),來指定舞臺的大小。
  • 舞臺被分為內容區域和裝飾區域(即:標題欄和邊框)。

場景(Scene)

  • 場景表示JavaFX應用程序的物理內容。它包含了所有單獨的控件或組件。
  • 它是由JavaFX.scene.Scene類所定義的。
  • 一個應用可以有多個場景,但在任何給定時間內,舞臺上只能顯示一個場景。
  • 場景的大小可以通過將其尺寸(即:高度和寬度)、連同根節點一起,傳遞給其構造函數來指定。

場景圖(Scene Graph)

  • 場景圖是表示場景內容的樹狀數據結構(分層)。所有可視組件,包括:控件、布局等,都是場景圖的一部分。
  • 場景圖組件必須被附加到待顯示的場景中,并且必須被進一步附加到舞臺中,才能使得整個場景可見。

節點(Nodes)

  • 節點是場景圖的視覺與圖形對象。
  • 場景圖的節點是由JavaFX.scene.Node類所定義的。
  • 一個節點可以包括:
  1. 各種幾何或圖形對象:2D、3D。
  2. 各種UI控件:Button、CheckBox、ChoiceBox、以及TextArea等。
  3. 各種容器或布局板式:BorderPane、GridPane、以及FlowPane等。
  4. 各種媒體元素:Audio、Video、以及Image對象。
  • 節點有以下類型:
  1. 根節點:是場景圖中的第一個節點。
  2. 分支與父節點:諸如Group、Region、以及StackPane等,都帶有各種子節點。
  3. 葉子節點:諸如Rectangle、Ellipse、Box、ImageView、以及MediaView等,都帶有各種子節點。

4.JavaFX的各個組件

JavaFX帶有大量內置的GUI組件,其中包括:按鈕、文本字段、表格、樹、菜單、圖表等。下面我們將重點討論一些主要的組件。

控件

  • JavaFX控件是在JavaFX應用程序中,提供某種控制功能的JavaFX組件。
  • 為了使控件可見,它必須被附加到某個場景對象的場景圖上。
  • 控件通常會被嵌套在一些JavaFX布局組件中,這些組件管理著控件之間的布局。
  • 一些常見的JavaFX控件包括:Button、CheckBox、Label、Menu、RadioButton、TableView、TextField、以及TreeView等。

布局

  • JavaFX布局是一些包含了其他組件的組件。也就是說,布局組件管理著那些嵌套在自身的組件布局。
  • JavaFX布局組件有時也被稱為父組件,畢竟它們包含著子組件。同時,布局組件是JavaFX類JavaFX.scene.Parent的子類。
  • 為了可見,布局組件必須被附加到某個場景對象的場景圖之中。
  • 我們可以在其他布局組件中嵌套布局組件。這對于實現特定的布局是非常實用的。
  • 常見的JavaFX布局包括: Group、Pane、HBox、VBox、BorderPane、StackPane、以及GridPane等。

圖表(Charts)

JavaFX帶有一組內置的即用型圖表組件,用戶可避免每次在需要基本圖表時,不得不從頭開始編寫圖表。

2D/3D圖形(2D/3D Graphics)

JavaFX包含了可以讓用戶在屏幕上輕松地繪制2D/3D圖形的功能。

音頻(Audio)

用戶能夠輕松地在JavaFX應用中播放音頻。該功能對于游戲和教育類的應用是非常實用的。

視頻(Video)

用戶同樣也能夠輕松地在JavaFX應用中播放視頻。該功能對于流媒體應用、游戲、以及教育類應用同樣非常實用。

網頁視圖(WebView)

JavaFX包含了一個基于WebKitHTML技術的WebView組件。該組件能夠使用HTML和CSS,來顯示各種網頁。

5.如何使用JavaFX來構建GUI應用

在此,我們將創建一個簡單的JavaFX應用。如下圖所示,該應用由加載GIF、加載文本、十字關閉按鈕控件、以及背景所組成。如果您想獲得并研究其源代碼,請參見--https://gist.github.com/mansi7babbar/c0547010ab91c17f515c1fd4677cc4a2。

[[411017]]

下面,讓我們來一起討論構建該JavaFX應用程序的具體步驟:

設置入口點:

  • 我們從JavaFX.application.Application處擴展一個JavaFX GUI程序。
  • 它是JavaFX應用的入口點。

定義啟動方法:

  • JavaFXSeeder類繼承了Application類,并實現了其抽象方法start()。
  • 在此方法中,我們將為JavaFX圖形編寫整個代碼。

設定場景:

  • 通過指定場景圖的root(其類型為JavaFX.scene.Group),來分配JavaFX.scene.Scene。
  • 我們還可以傳遞兩個double類型的參數,以表示場景的高度和寬度。

設置舞臺:

  • 首先設置JavaFX.stage.Stage對象,并使用setTitle()方法來設置舞臺的標題,以及使用setScene()方法將場景附加到舞臺上。
  • 使用show()方法顯示場景的內容。
  • 平臺自行創建primaryStage舞臺對象,并作為參數,傳遞給場景類的開始方法。
  • 設置舞臺的寬度、高度、任務欄圖標、以及舞臺風格。
  • 通過調用舞臺對象的setAlwaysOnTop(),將當前的應用設置到其他應用之上。

設置外部布局:

  • 在此,我們使用JavaFX.scene.layout.StackPane作為頂級布局節點,以便將其子節點布局在一個從后向前的棧(back-to-front stack)中。
  • 我們可以為該StackPane分配一個唯一的ID和尺寸數值。
  • 我們也可以使用setOnMousePressed()和setOnMouseDragged()兩個事件來處理程序,并在外部布局上添加鼠標拖動事件。
  • 使用setAlignment()設置布局在屏幕上的具體位置。

設置內部布局:

  • 外部布局節點具有三個子節點,即:Image、JavaFX.scene.layout.HBox和JavaFX.scene.layout.VBox。
  • HBox將其內容節點水平排列在一行中。VBox將其內容節點垂直排列在單個列中。
  • 我們可以將各個節點添加到同一個布局控件中。其中,getChildren().add()可用于單個節點,而getChildren().addAll()則適用于多個節點。

設置控件:

  • JavaFX在JavaFX.scene.control包中提供了大量控件(或組件)。
  • 構造一個Button控件,將其放置在窗口的右上角,然后通過setOnAction()方法,將JavaFX.event.EventHandler添加到Button上。
  • 我們可以通過實例化這個類,以將JavaFX.scene.shape.Text嵌入一個JavaFX場景中,然后可以設置文本的字體、顏色、以及位置等要素。
  • 我們可以通過實例化JavaFX.scene.image.Image類,在JavaFX中加載一個圖像。在完成加載后,我們可以通過實例化ImageView類,來設置圖像的視圖,并將圖像傳遞給其構造函數。

啟動程序:

  • 在main()方法中,我們必須使用launch()方法來啟動應用程序。
  • 該方法會在內部調用Application類的start()方法。

6.小結

在上文中,我們既討論了JavaFX的工作原理、關鍵特性和強大功能,又研究了JavaFX的應用結構,以及如何將場景、舞臺、場景圖和節點,構建成為圖形應用。我們還通過創建了一個簡單的JavaFX應用程序,來展示了由JavaFX提供的大量內置GUI組件。

原文標題:JavaFX—OverviewwithHands-on,作者:MansiBabbar

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2025-05-07 00:31:30

2022-12-07 08:42:35

2021-08-02 07:35:19

Nacos配置中心namespace

2011-05-03 15:59:00

黑盒打印機

2011-01-10 14:41:26

2021-01-19 09:06:21

MysqlDjango數據庫

2021-03-12 10:01:24

JavaScript 前端表單驗證

2022-10-30 10:31:42

i2ccpuftrace

2021-12-15 08:49:21

gpio 子系統pinctrl 子系統API

2020-05-15 08:07:33

JWT登錄單點

2022-07-22 12:45:39

GNU

2023-04-26 12:46:43

DockerSpringKubernetes

2022-03-14 14:47:21

HarmonyOS操作系統鴻蒙

2022-07-27 08:16:22

搜索引擎Lucene

2022-01-08 20:04:20

攔截系統調用

2011-02-22 13:46:27

微軟SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口

2021-12-28 08:38:26

Linux 中斷喚醒系統Linux 系統

2020-08-12 09:07:53

Python開發爬蟲

2020-12-08 10:32:15

Python郵件tcp
點贊
收藏

51CTO技術棧公眾號

人妻 丝袜美腿 中文字幕| 亚洲黄色www| 超碰97在线播放| 色涩成人影视在线播放| 久久久国产成人| 色成人综合网| 久久久久国产精品麻豆ai换脸| 欧美丰满片xxx777| 污污视频在线免费| 日本在线观看| 日韩福利视频网| 亚洲欧美精品在线| 免费无码av片在线观看| 天堂在线视频免费观看| 激情综合视频| 欧美r级在线观看| 欧美交换配乱吟粗大25p| 亚洲国产无线乱码在线观看| 国产精品免费大片| 色婷婷综合久色| 欧美深深色噜噜狠狠yyy| 国产精品亚洲无码| 国产va在线视频| 性伦欧美刺激片在线观看| 亚洲成人精品久久| 热99这里只有精品| 四虎精品一区二区三区| 亚洲人体偷拍| 亚洲精品一区二区网址| 亚洲a∨一区二区三区| 色屁屁影院www国产高清麻豆| 色综合www| 日韩欧美a级成人黄色| 欧美二区在线| 国产美女www爽爽爽| 日韩av在线中文字幕| 欧美日韩国产小视频在线观看| 日韩视频专区| 依依成人在线视频| 清纯唯美激情亚洲| 狠狠色狠狠色综合| 精品国产青草久久久久福利| 麻豆传媒一区二区| 久久国产乱子伦精品| 精品国产午夜| 欧美精品久久99久久在免费线| 国产精品一区二区三区不卡 | 欧美一区,二区| 国产一区二区三区成人欧美日韩在线观看 | 亚洲风情在线资源| 国产亚洲精品超碰| 444亚洲人体| 久久久精品一区二区涩爱| 精品按摩偷拍| 欧美日韩国产一级二级| 无码人妻少妇伦在线电影| 欧美777四色影视在线 | 92裸体在线视频网站| 国产一级特黄a高潮片| 国产精品免费99久久久| 91精品国产aⅴ一区二区| 日本少妇高潮喷水视频| 日本在线观看免费| 91影院在线免费观看| 国产美女扒开尿口久久久| 波多野结衣视频播放| 桃花岛成人影院| 波多野结衣在线aⅴ中文字幕不卡| 国产suv精品一区二区三区88区| 成熟的女同志hd| 啪啪亚洲精品| 欧美性xxxx极品高清hd直播| 伊人久久av导航| 手机av免费观看| 欧美精品啪啪| 日韩中文综合网| 欧美多人猛交狂配| 高清日韩中文字幕| 777欧美精品| 日本999视频| aa国产成人| 亚洲激情自拍视频| 在线不卡日本| 成人在线二区| 99r国产精品| 翡翠波斯猫1977年美国| 91国在线视频| 久久国内精品自在自线400部| 91超碰caoporn97人人| 99re这里只有| 一区二区三区高清在线观看| 欧美美女直播网站| 波多野结衣天堂| 最近高清中文在线字幕在线观看| 成人激情黄色小说| 91中文字精品一区二区| 亚洲精品国产精品国自产网站按摩| 99热这里只有精品8| 欧美黑人xxxⅹ高潮交| 日本少妇高清视频| 最新国产精品| 欧美精品在线观看91| 男人的午夜天堂| 欧美.com| 黄色一区二区在线观看| 男女激情免费视频| 里番在线播放| www激情久久| 精品久久精品久久| 天堂a中文在线| 99精品国产99久久久久久白柏| 国产精品日韩高清| 欧洲精品久久一区二区| 成人国产电影网| 国产在线观看一区| 天堂av电影在线观看| 91老师片黄在线观看| 蜜桃91精品入口| 九色在线观看| 国产在线视频一区二区| 98视频在线噜噜噜国产| 国产 日韩 欧美 在线| 国产麻豆综合| 国产精品久久久久久婷婷天堂| 波多野结衣视频免费观看| 免费人成精品欧美精品| 国产日韩精品在线观看| 国产高清不卡视频| 成人黄色小视频在线观看| 精品久久久三级| 久久精品a一级国产免视看成人 | 这里只有精品视频在线观看| 日本成人xxx| 牛牛精品一区二区| 欧美性xxxx在线播放| the porn av| 亚洲精品不卡在线观看| 亚洲老司机av| 国内毛片毛片毛片毛片毛片| 欧美激情日韩| 热久久美女精品天天吊色| 中文字幕 日韩有码| 国产乱子伦视频一区二区三区| 高清不卡日本v二区在线| 欧美成人综合在线| 亚洲欧美日韩国产成人精品影院 | 欧美18—19sex性hd| 欧美日韩免费不卡视频一区二区三区| 992tv人人草| 亚洲区小说区图片区qvod| 色噜噜狠狠色综合网图区| 538任你躁在线精品视频网站| aa国产精品| 亚洲v日韩v综合v精品v| 亚洲 国产 欧美 日韩| 中文字幕亚洲欧美在线不卡| 亚洲 欧美 日韩 国产综合 在线| 成人在线高清| 日韩av在线精品| 久久国产精品国语对白| 亚洲欧美日韩国产一区二区| 亚洲mm色国产网站| 黄色av网站在线| 亚洲国产三级在线| www.久久久精品| 少妇久久久久| 欧美黑人国产人伦爽爽爽| 在线免费观看av片| 91丨porny丨在线| 欧美性受黑人性爽| 中文字幕系列一区| 精品亚洲一区二区三区在线观看 | 精品无人区无码乱码毛片国产| 香蕉国产精品| 国产精品免费网站| 视频一区二区三区国产 | 久久久天堂国产精品| 欧美日韩激情电影| 欧美视频13p| 性色av浪潮av| 久久神马影院| 国产精品18久久久久久首页狼 | 国产美女精品人人做人人爽| 欧美人xxxxx| а√天堂8资源在线| 91精品国产色综合久久久蜜香臀| 日本乱子伦xxxx| 欧美综合二区| 久久精品国产99精品国产亚洲性色| 免费日本一区二区三区视频| 一本久久a久久免费精品不卡| 性色av浪潮av| 欧美日韩国产高清| 亚洲a中文字幕| 福利在线视频网站| 欧美精品xxxxbbbb| a视频免费观看| 在线观看视频免费一区二区三区| 91亚洲精品丁香在线观看| 蜜芽在线免费观看| 在线不卡的av| 动漫性做爰视频| 久久99精品视频| 中文字幕第50页| 精品视频国内| 九色精品免费永久在线| 99久久久久成人国产免费| 国产欧美一区二区三区在线看蜜臀| 精品综合在线| 蜜桃av在线播放| 国产午夜精品久久久| 中文字幕精品三级久久久| av电影天堂一区二区在线观看| 日本一道本久久| 小说区图片区色综合区| 欧美性视频网站| 国产精品ⅴa有声小说| 欧美日韩视频不卡| 9.1片黄在线观看| 免费日本视频一区| 好吊色视频988gao在线观看| 久久亚洲精精品中文字幕| 日韩视频在线免费观看| 国产免费一区二区三区免费视频| 自拍偷拍国产亚洲| 蜜桃色一区二区三区| 欧美视频四区| 蜜桃导航-精品导航| 少妇精品视频一区二区免费看| 中文字幕久热精品视频在线| 国产一区二区麻豆| 亚洲观看高清完整版在线观看| 国产偷人妻精品一区| 青青草国产精品97视觉盛宴| 懂色av一区二区三区四区五区| 2020最新国产精品| 国产v综合ⅴ日韩v欧美大片| 欧美精品日韩少妇| 亚洲国产精品一区二区久| 午夜精品免费观看| 亚洲免费观看高清完整版在线观看| 国产亚洲色婷婷久久99精品91| 日本视频一区二区| 国产乱子伦精品视频| 自拍视频一区| 亚洲影院在线看| 亚洲淫成人影院| 成人97在线观看视频| 头脑特工队2在线播放| 欧美男人的天堂一二区| 在线观看 中文字幕| 国产精品伦理一区二区| 久久久久无码国产精品一区李宗瑞 | 日韩精品一卡二卡三卡四卡无卡| 亚洲黄色一区二区三区| 成人av综合网| 久久国产精品久久国产精品| 污污视频在线免费看| 欧美高清激情brazzers| 久久久国产高清| 亚洲柠檬福利资源导航| 国产真实乱人偷精品人妻| 国产精品亚洲成人| 亚洲欧美另类动漫| 国产亚洲精品自拍| 久久久久久av无码免费网站下载| av一区二区高清| 九九九九久久久久| 天堂久久av| 成人h片在线播放免费网站| 在线人成日本视频| 久久噜噜噜精品国产亚洲综合| 免费在线看a| 最近2019中文免费高清视频观看www99 | 国产日韩av一区| 制服丝袜中文字幕第一页 | 女人18毛片一区二区三区| 欧美日韩高清在线播放| 国产黄色免费观看| 亚洲高清免费在线| 成熟的女同志hd| 亚洲天堂精品在线观看| 国产一区二区三区四区在线| 久久中文字幕电影| 三叶草欧洲码在线| jvid福利写真一区二区三区| 18禁一区二区三区| 国产精品88av| 国产资源中文字幕| 国产精品综合在线视频| aaa一级黄色片| 麻豆国产欧美日韩综合精品二区 | 欧美高清视频不卡网| 国产99久久久久久免费看| 欧美香蕉大胸在线视频观看| 久久久久成人精品无码| 一区二区高清免费观看影视大全| www.超碰在线观看| 亚洲主播在线观看| 国产在线一二区| 亚洲福利视频一区二区| 69av.com| 亚洲va欧美va天堂v国产综合| 久久免费视频播放| 亚洲va欧美va人人爽| 国产在线精品观看| 精品久久中文字幕久久av| 欧美精品亚洲精品日韩精品| 精品国产户外野外| 特级毛片www| 欧美在线观看一二区| 一级特黄免费视频| 欧美日韩日本视频| 国产三级伦理片| 亚洲第一男人av| 神马电影在线观看| 国产亚洲欧洲高清| 黄黄的网站在线观看| 久久99精品久久久久久噜噜| 国语对白在线刺激| 欧美亚洲国产视频小说| 成人看片网页| 91九色蝌蚪嫩草| 亚洲人亚洲人色久| 亚洲激情电影在线| 欧美.www| www黄色日本| 麻豆精品在线视频| 免费黄色a级片| 成午夜精品一区二区三区软件| 日韩欧美aⅴ综合网站发布| 欧美在线观看不卡| 欧美色网站导航| 99久久精品国产色欲| 亚洲国产精品高清久久久| 国产美女性感在线观看懂色av| 日韩中文字幕免费看| 欧美卡一卡二| 国产成人在线播放| 日本久久伊人| 欧美在线播放一区| 综合在线视频| 不卡影院一区二区| 国产精品资源网| 国产jjizz一区二区三区视频| 亚洲欧洲av在线| 91九色丨porny丨肉丝| 欧美绝品在线观看成人午夜影视| 国产综合在线播放| 这里只有精品视频在线| 国模雨婷捆绑高清在线| 国产精品白嫩初高中害羞小美女| 日本久久伊人| 亚洲精品成人自拍| 国产午夜久久| 无码人妻一区二区三区在线视频| 久久奇米777| 欧美成人aaa片一区国产精品| 色综合天天性综合| 亚洲黄色a级片| 色妞欧美日韩在线| 在线手机中文字幕| 99re在线视频观看| 成人精品影视| 久久9精品区-无套内射无码| 黄色精品一二区| 亚洲成人黄色av| 五月天视频一区| 国内老熟妇对白xxxxhd| 国产亚洲激情在线| 绿色成人影院| 国产精品对白一区二区三区| 国产韩日影视精品| 黄色aaa级片| 久久精品在这里| 日韩少妇高潮抽搐| 日韩欧美电影一区| 国产日产一区二区三区| 国产精品久久久久久久久久久不卡 | 国产亚洲欧美日韩在线观看一区二区| 中文字幕一区二区三区在线乱码| 久久狠狠婷婷| 国产精品久久久免费观看| 亚洲综合精品久久| www.com在线观看| 久久久精品中文字幕| 黄色软件在线| 91超碰中文字幕久久精品| 男人的天堂久久| 国产va亚洲va在线va| 国产精品18久久久久久久久| 永久免费看片直接| 欧美日韩一区国产| 国产日本在线视频| 国产91九色视频| av在线电影网| 91亚洲永久精品| 国产一区二区播放| 欧美影院一区二区三区| 欧美午夜黄色|