現在Java 桌面應用程式能做到什麼程度(Spring Boot+JavaFX2開發)
- 2019 年 10 月 31 日
- 筆記
Spring Boot – JavaFX 2.0應用
很多人對Java開發native程式第一反應還停留在暗灰色單一風格的Java GUI介面,開發方式還停留在AWT或者Swing。本文主要基於SpringBoot和JavaFX開發一個Demo給你展示Java Native應用可以做到什麼樣的程度。當然JavaFX 2.0沒有流行起來也是有原因的,而且目前native的選擇很多,前端是個框架都會搞個native… @pdai
最全的Java後端知識體系 https://www.pdai.tech, 每天更新中…。
技術背景 – Java 8的新特性之JavaFX2.0
全新現代主題:Modena
新的Modena主題來替換原來的Caspian主題。不過在Application的start()方法中,可以通過setUserAgentStylesheet(STYLESHEET_CASPIAN)來繼續使用Caspian主題。
參考http://fxexperience.com/2013/03/modena-theme-update/
用於 CSS 結構的公共 API
- CSS 樣式設置是 JavaFX 的一項主要特性
- CSS 已專門在私有 API 中實現(com.sun.javafx.css 軟體包)
- 多種工具(例如 Scene Builder)需要 CSS 公共 API
- 開發人員將能夠定義自定義 CSS 樣式
WebView 增強功能
- Nashorn JavaScript 引擎 https://blogs.oracle.com/nashorn/entry/open_for_business
- WebSocket http://javafx-jira.kenai.com/browse/RT-14947
- Web Workers http://javafx-jira.kenai.com/browse/RT-9782
JavaFX Scene Builder 2.0
可視化工具,加速JavaFX圖形介面的開發:
JavaFX Scene Builder如同NetBeans一般,通過拖拽的方式配置介面,待完成介面之後,保存為FXML格式文件,此文件以XML描述物件配置,再交由JavaFX程式處理,因此可減少直接以JavaFX編寫介面的困難度。
JavaFX Scene Builder 2.0新增JavaFX Theme預覽功能,菜單「Preview」→「JavaFX Theme」選擇不同的主題,包括:
- Modena (FX8).
- Modena Touch (FX8).
- Modena High Contrast – Black on White (FX8).
- Modena High Contrast – White on Black (FX8).
- Modena High Contrast – Yellow on Black (FX8).
- Caspian (FX2).
- Caspian Embedded (FX2).
- Caspian Embedded QVGA (FX2).
JavaFX 3D
在JavaFX8中提供了3D影像處理API,包括Shape3D (Box, Cylinder, MeshView, Sphere子類),SubScene, Material, PickResult, LightBase (AmbientLight 和PointLight子類),SceneAntialiasing等。Camera類也得到了更新。從JavaDoc中可以找到更多資訊。
富文本
強化了富文本的支援
TreeTableView
TreeTable支援
日期控制項DatePicker
增加日期控制項
Spring Boot+JavaFX2 Demo介紹
程式載入 – Loader
和WEB一樣風格的GUI
對話框 – Popup
Web應用嵌入 – Webview
多種主題切換 – Theme
消息及配置懸浮框 – Message/Configuration…
全螢幕最大化最小化 – FullScreen/Max/Min/Close
包括全螢幕是基於JavaFX的一個組件,不是原生。
示例程式碼
@See https://github.com/realpdai/springboot-javafx-app-demo