[框架] __ javafx框架的簡(jiǎn)單認(rèn)識(shí)與使用

  • 前言

在前面,我已經(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)插入并保持打開的插件).
image.png
  • 指定SceneBuilder的可執(zhí)行文件路徑(如果你希望使用該工具來輔助你的開發(fā)):

在設(shè)置中找到j(luò)avafx(在設(shè)置界面的語言與框架欄中),SceneBuilder程序其實(shí)就是一個(gè)javafx的可視化編程工具,給開發(fā)者提供可視化的界面操作開發(fā),而不用全部敲代碼的形式來開發(fā)gui程序.

image.png

地址:
SceneBuilder-Oracle官方下載地址

  • 確定你的IDEA的jdk版本:

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

image.png

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

image.png

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

image.png

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

image.png

當(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)目中:
image.png

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

image.png

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

image.png

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

image.png

但如果我們?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)卡.

image.png

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

image.png

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • java是面向過程的編程語言:Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。Java 技術(shù)具有卓越...
    Java小辰閱讀 3,269評(píng)論 0 17
  • 抽象類(abstract class):抽象類不能創(chuàng)建對(duì)象,主要用來創(chuàng)建子類。Java中的抽象類使用 abstra...
    小宇java閱讀 1,355評(píng)論 1 26
  • 忘塵一路疾馳,馬上飛到一座大城市,停了下來,在一處不起眼的人行道顯現(xiàn)出來。然后便走到一個(gè)有大陣包裹著的房子走去...
    hackz閱讀 295評(píng)論 0 0
  • 包包今天練趴的時(shí)間我給長(zhǎng)一點(diǎn)了,寶貝可以把頭從左側(cè)抬起,再轉(zhuǎn)到右側(cè)趴下了。 今天開始,包開始喜歡把...
    快樂的寶媽閱讀 213評(píng)論 0 0
  • 1.感恩今天凌晨的時(shí)候,我睡不著覺,我就起來把地擦了,把屋子整理了一下,順便打掃的干干凈凈,接著就又睡了。 2.感...
    力禪心覺slowly閱讀 244評(píng)論 0 6

友情鏈接更多精彩內(nèi)容