日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

eclipse为什么导入不了awt_为什么选择javafx?

發布時間:2024/10/14 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 eclipse为什么导入不了awt_为什么选择javafx? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前我發了一篇文章講述跨平臺的GUI技術,其中提到了javafx。對此很多人表示疑惑,認為javafx是落伍的開發技術。對此,我想專門寫一篇文章來做個介紹。

其實很多人并沒有聽說過javafx。現在最新的java教材,在講到GUI技術的時候,還是以swing和awt為主。swing和awt是上一代的Java GUI技術,現在很多銀行、國企的嵌入式設備還跑著swing和awt寫出來的程序。javafx是為了替代swing而產生的庫,它同時支持Windows, MacOS, Linux三種平臺的客戶端程序開發。對于移動端(主要是IOS和Android),開源的javafxports以及相關的商業軟件歸于Gluon旗下,對于手機端做了額外的適配,使得javafx也可以在移動設備上運行。所以,javafx是真正的跨平臺客戶端開發技術。縱觀其他客戶端技術,Electron只支持Windows, MacOS和Linux,Qt對于移動端的支持尚不完善,C#開發GUI程序就更不必說了。

和傳統的java GUI技術相比,javafx在美觀度和運行效率上都有大幅度的提升。javafx對各平臺的GPU圖形API做了封裝,支持在各種平臺上的硬件加速,因此開發者完全可以使用javafx開發大型的三維系統軟件。下面是javafx兩個案例程序,分別展示了圖表和三維圖形。

javafx圖表

javafx 3D

javafx是典型的前后端分離的開發模式。通過fxml繪制界面,css修飾頁面的樣式,java程序則用作后端控制。這種模式與web開發是極為相似的,也提高了程序的可維護性。

有的同學可能會認為用java做客戶端程序不合理。但是Matlab、IDEA、Eclipse等軟件都是java寫出來的,而且它們都取得了重大的成功。其實技術是用來實現目的的,只要能完成需求,客戶不會管你用的什么技術實現的。而且由于javafx是真正跨平臺的GUI技術,開發軟件的時候,不需要給windows, Mac, Linux, Android, IOS分別配團隊,只需要一份代碼就可以了(或者只需要做少量平臺適配相關的修改)。Office、visual studio這種大型軟件,因為沒有使用跨平臺的技術開發,微軟現在想把它們遷移到新的平臺就非常困難。

2018年JDK11發布之后,Oracle將javafx歸于openjdk項目之中,目的是為了加速javafx的發展速度。目前,jdk8中集成了javafx,而后續版本的jdk則移除了javafx,目的是實現模塊化。如果想在jdk11中使用javafx,可以通過maven導入javafx的依賴,也可以自行下載javafx并放到jdk中,總體而言并不麻煩。不過初學者還是使用jdk8比較好,熟悉之后再升級到jdk11。

除了使用javafx庫中的組件進行開發以外,開發者還可以使用javafx中的webview開發程序,這也是很多微信小程序和移動端程序常用的開發模式。雖然這種開發方式降低了運行速度,但是開發速度則大大提高,因為前端的工具鏈對于開發GUI程序實在是過于友好。javafx的webview加載和運行速度其實還算比較快的,筆者曾經對不同框架下的webview性能做過測試,發現2012年發布的javafx webview比2020年的Qt、安卓的webview速度還快,僅次于Electron(畢竟Electron是正經的套殼瀏覽器)。javafx的webview對HTML5的支持非常好,對css的支持稍微差點,但是基本不影響使用。

使用IDEA + scenebuilder是目前最好的開發javafx程序的方案。其中IDEA支持css和fxml的語法提示和高亮,scenebuilder是所見即所得的fxml生成器,可以通過拖拽的方式繪制界面。不過我不推薦拖拽組件,因為這種方式構建界面是有限制的,不能做出復雜的界面效果,而且自適應屏幕大小的時候也比較麻煩。繪制網頁的時候也是這樣,一般都不用編輯器,手寫HTML + CSS是最好的。

如果想要學習javafx的話,可以看我上面一篇關于跨平臺GUI技術對比的文章。后面我也會陸續更新javafx相關的技術指導。

總結

以上是生活随笔為你收集整理的eclipse为什么导入不了awt_为什么选择javafx?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。