- 前言
在前面,我已經(jīng)學(xué)習(xí)到關(guān)于GUI程序的開發(fā)了.JAVA語言中的GUI程序開發(fā)框架無非就是那么兩個(gè).AWT與Swing.書上使用的大多還是比較老的AWT或者swing框架做GUI開發(fā).但很明顯,它們并沒有十分的實(shí)用,所以我google了一下,關(guān)于GUI(客戶端windows桌面軟件)程序開發(fā)適用語言與JAVA語言所涉及到的關(guān)于GUI程序開發(fā)的框架.發(fā)現(xiàn)AWT與swing框架其實(shí)并不適合現(xiàn)在的GUI程序開發(fā),或者說其實(shí)JAVA語言并不十分適合做GUI程序開發(fā).JAVA語言更適合做web,bs架構(gòu)的開發(fā).
而在java語言基礎(chǔ)上的GUI程序開發(fā)框架有AWT,swing,javafx.既然是學(xué)習(xí)java知識(shí),那么關(guān)于gui方面的開發(fā)當(dāng)然還是需要選擇一個(gè)基于JAVA語言的框架.所以這里我選擇了javafx,javafx框架也是oracle公司聲稱最新一代計(jì)劃取代AWT,swing的gui開發(fā)框架,相比較而言它應(yīng)該是java語言gui開發(fā)目前最實(shí)用的框架.并且技術(shù)也是當(dāng)前前沿的.
參考:
一篇關(guān)于javagui開發(fā)框架的總結(jié)文章
事實(shí)上選擇使用javafx框架來學(xué)習(xí)JAVA語言桌面應(yīng)用開發(fā)還有另一個(gè)原因,那就是在intellij IDEA對(duì)javafx插件有良好的應(yīng)用.
- javafx框架
javafx框架是一款全新的基于JAVA語言的gui程序開發(fā)框架.
OpenJFX是一個(gè)開源的下一代客戶端應(yīng)用程序平臺(tái),適用于基于Java構(gòu)建的桌面,移動(dòng)和嵌入式系統(tǒng)。
這是許多個(gè)人和公司的共同努力,目標(biāo)是為開發(fā)富客戶端應(yīng)用程序生成現(xiàn)代,高效且功能齊全的工具包。
- javafx框架在IDEA中的使用
事實(shí)上,在java11及以上,就把javafx單獨(dú)拿出來了,不再像之前一樣集成在java類庫中,所以在jdk版本11及以上,都需要單獨(dú)的下載openfx jdk類庫.導(dǎo)入到項(xiàng)目中才能使用.當(dāng)然你也可以使用jdk版本較低的java jdk.當(dāng)使用jdk7 - jdk11期間版本時(shí),只需要進(jìn)行簡(jiǎn)單的設(shè)置就可以使用javafx框架:
在jdk7-10版本中使用javafx框架
- 在插件庫中找到j(luò)avafx插件,并確保其是打開的(實(shí)際上在IDEA中javafx框架是默認(rèn)已經(jīng)插入并保持打開的插件).

- 指定SceneBuilder的可執(zhí)行文件路徑(如果你希望使用該工具來輔助你的開發(fā)):
在設(shè)置中找到j(luò)avafx(在設(shè)置界面的語言與框架欄中),SceneBuilder程序其實(shí)就是一個(gè)javafx的可視化編程工具,給開發(fā)者提供可視化的界面操作開發(fā),而不用全部敲代碼的形式來開發(fā)gui程序.

- 確定你的IDEA的jdk版本:
打開你項(xiàng)目的設(shè)置選項(xiàng)卡,將sdks中的jdk版本調(diào)至對(duì)應(yīng)的版本(即jdk7-10).他們的javafx是集成在jdk中的所以不用單獨(dú)導(dǎo)入sdk開發(fā)包.

如此,你就可以在IDEA中創(chuàng)建一個(gè)javafx項(xiàng)目了:

記得這里jdk的版本要選擇對(duì)應(yīng)的版本.

創(chuàng)建好項(xiàng)目后,結(jié)構(gòu)應(yīng)該是這樣的,我們可以直接運(yùn)行這個(gè)例子:

當(dāng)你想通過最新的jdk11及以上的版本使用javafx框架
- 當(dāng)你使用jdk11以上版本創(chuàng)建javafx項(xiàng)目時(shí),項(xiàng)目打開時(shí),會(huì)無法識(shí)別javafx類.這是因?yàn)樵趈ava11以及之后將javafx移出了,我們需要單獨(dú)下載sdk并導(dǎo)入到項(xiàng)目中:

首先下載對(duì)應(yīng)的sdk包:

然后將其做為庫添加到項(xiàng)目中.

應(yīng)用庫后,將會(huì)識(shí)別到j(luò)avafx類.

但如果我們?cè)谶@個(gè)時(shí)候運(yùn)行,會(huì)得到錯(cuò)誤:
the javafx runtime is not configured.either use a jdk that has the javafx built in,or add a javafx library to the classpath,這是由于java 11啟動(dòng)程序檢測(cè)主類是否有擴(kuò)展,因此顯示此錯(cuò)誤javafx.application.Application,這是我們需要javafx.graphics在模塊路徑上安裝模塊.
- 添加VM選項(xiàng)
我們要解決這個(gè)問題,需要在編輯運(yùn)行視窗中添加VM選項(xiàng)卡.

如此再運(yùn)行項(xiàng)目,將不再報(bào)錯(cuò)成功運(yùn)行.我們可以通過可視化SceneBuilder工具來輔助開發(fā):

更新時(shí)間:
2019-5-7
16:54