|
| 1 | +# springboot-javafx-app-demo |
| 2 | + |
| 3 | +## Spring Boot - JavaFX 2.0应用 |
| 4 | + |
| 5 | +> 很多人对Java开发native程序第一反应还停留在暗灰色单一风格的Java GUI界面,开发方式还停留在AWT或者Swing。本文主要基于SpringBoot和JavaFX开发一个Demo给你展示Java Native应用可以做到什么样的程度。当然JavaFX 2.0没有流行起来也是有原因的,而且目前native的选择很多,前端是个框架都会搞个native... @pdai |
| 6 | +
|
| 7 | +- [Spring Boot - JavaFX 2.0应用](#spring-boot---javafx-20%e5%ba%94%e7%94%a8) |
| 8 | + - [技术背景 - Java 8的新特性之JavaFX2.0](#%e6%8a%80%e6%9c%af%e8%83%8c%e6%99%af---java-8%e7%9a%84%e6%96%b0%e7%89%b9%e6%80%a7%e4%b9%8bjavafx20) |
| 9 | + - [全新现代主题:Modena](#%e5%85%a8%e6%96%b0%e7%8e%b0%e4%bb%a3%e4%b8%bb%e9%a2%98modena) |
| 10 | + - [用于 CSS 结构的公共 API](#%e7%94%a8%e4%ba%8e-css-%e7%bb%93%e6%9e%84%e7%9a%84%e5%85%ac%e5%85%b1-api) |
| 11 | + - [WebView 增强功能](#webview-%e5%a2%9e%e5%bc%ba%e5%8a%9f%e8%83%bd) |
| 12 | + - [JavaFX Scene Builder 2.0](#javafx-scene-builder-20) |
| 13 | + - [JavaFX 3D](#javafx-3d) |
| 14 | + - [富文本](#%e5%af%8c%e6%96%87%e6%9c%ac) |
| 15 | + - [TreeTableView](#treetableview) |
| 16 | + - [日期控件DatePicker](#%e6%97%a5%e6%9c%9f%e6%8e%a7%e4%bb%b6datepicker) |
| 17 | + - [Spring Boot+JavaFX2 Demo介绍](#spring-bootjavafx2-demo%e4%bb%8b%e7%bb%8d) |
| 18 | + - [程序加载 - Loader](#%e7%a8%8b%e5%ba%8f%e5%8a%a0%e8%bd%bd---loader) |
| 19 | + - [和WEB一样风格的GUI](#%e5%92%8cweb%e4%b8%80%e6%a0%b7%e9%a3%8e%e6%a0%bc%e7%9a%84gui) |
| 20 | + - [对话框 - Popup](#%e5%af%b9%e8%af%9d%e6%a1%86---popup) |
| 21 | + - [Web应用嵌入 - Webview](#web%e5%ba%94%e7%94%a8%e5%b5%8c%e5%85%a5---webview) |
| 22 | + - [多种主题切换 - Theme](#%e5%a4%9a%e7%a7%8d%e4%b8%bb%e9%a2%98%e5%88%87%e6%8d%a2---theme) |
| 23 | + - [消息及配置悬浮框 - Message/Configuration...](#%e6%b6%88%e6%81%af%e5%8f%8a%e9%85%8d%e7%bd%ae%e6%82%ac%e6%b5%ae%e6%a1%86---messageconfiguration) |
| 24 | + - [全屏最大化最小化 - FullScreen/Max/Min/Close](#%e5%85%a8%e5%b1%8f%e6%9c%80%e5%a4%a7%e5%8c%96%e6%9c%80%e5%b0%8f%e5%8c%96---fullscreenmaxminclose) |
| 25 | + - [示例代码](#%e7%a4%ba%e4%be%8b%e4%bb%a3%e7%a0%81) |
| 26 | + |
| 27 | +> <span style='color:red;font-size:25px;'>最全的Java后端知识体系</span><span style='color:red;font-size:25px;'> [https://www.pdai.tech](https://www.pdai.tech)</span>, <span style='color:red;font-size:25px;'>每天更新中...</span>。 |
| 28 | +
|
| 29 | +### 技术背景 - Java 8的新特性之JavaFX2.0 |
| 30 | + |
| 31 | +#### 全新现代主题:Modena |
| 32 | + |
| 33 | +新的Modena主题来替换原来的Caspian主题。不过在Application的start()方法中,可以通过setUserAgentStylesheet(STYLESHEET_CASPIAN)来继续使用Caspian主题。 |
| 34 | + |
| 35 | +参考http://fxexperience.com/2013/03/modena-theme-update/ |
| 36 | + |
| 37 | + |
| 38 | +#### 用于 CSS 结构的公共 API |
| 39 | + |
| 40 | + + CSS 样式设置是 JavaFX 的一项主要特性 |
| 41 | + + CSS 已专门在私有 API 中实现(com.sun.javafx.css 软件包) |
| 42 | + + 多种工具(例如 Scene Builder)需要 CSS 公共 API |
| 43 | + + 开发人员将能够定义自定义 CSS 样式 |
| 44 | + |
| 45 | +#### WebView 增强功能 |
| 46 | + |
| 47 | ++ Nashorn JavaScript 引擎 https://blogs.oracle.com/nashorn/entry/open_for_business |
| 48 | ++ WebSocket http://javafx-jira.kenai.com/browse/RT-14947 |
| 49 | ++ Web Workers http://javafx-jira.kenai.com/browse/RT-9782 |
| 50 | + |
| 51 | +#### JavaFX Scene Builder 2.0 |
| 52 | + |
| 53 | +可视化工具,加速JavaFX图形界面的开发: |
| 54 | + |
| 55 | +JavaFX Scene Builder如同NetBeans一般,通过拖拽的方式配置界面,待完成界面之後,保存为FXML格式文件,此文件以XML描述物件配置,再交由JavaFX程式处理,因此可減少直接以JavaFX编写界面的困難度。 |
| 56 | + |
| 57 | +JavaFX Scene Builder 2.0新增JavaFX Theme预览功能,菜单「Preview」→「JavaFX Theme」选择不同的主題,包括: |
| 58 | + |
| 59 | ++ Modena (FX8). |
| 60 | ++ Modena Touch (FX8). |
| 61 | ++ Modena High Contrast – Black on White (FX8). |
| 62 | ++ Modena High Contrast – White on Black (FX8). |
| 63 | ++ Modena High Contrast – Yellow on Black (FX8). |
| 64 | ++ Caspian (FX2). |
| 65 | ++ Caspian Embedded (FX2). |
| 66 | ++ Caspian Embedded QVGA (FX2). |
| 67 | + |
| 68 | +#### JavaFX 3D |
| 69 | + |
| 70 | +在JavaFX8中提供了3D图像处理API,包括Shape3D (Box, Cylinder, MeshView, Sphere子类),SubScene, Material, PickResult, LightBase (AmbientLight 和PointLight子类),SceneAntialiasing等。Camera类也得到了更新。从JavaDoc中可以找到更多信息。 |
| 71 | + |
| 72 | +#### 富文本 |
| 73 | + |
| 74 | +强化了富文本的支持 |
| 75 | + |
| 76 | +#### TreeTableView |
| 77 | + |
| 78 | +TreeTable支持 |
| 79 | + |
| 80 | +#### 日期控件DatePicker |
| 81 | + |
| 82 | +增加日期控件 |
| 83 | + |
| 84 | + |
| 85 | +### Spring Boot+JavaFX2 Demo介绍 |
| 86 | + |
| 87 | + |
| 88 | +#### 程序加载 - Loader |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | +#### 和WEB一样风格的GUI |
| 93 | + |
| 94 | + |
| 95 | + |
| 96 | +#### 对话框 - Popup |
| 97 | + |
| 98 | +[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iSchiaAx-1572482334806)(https://www.pdai.tech/_images/spring/springboot-javafx-app-3.png)] |
| 99 | + |
| 100 | +#### Web应用嵌入 - Webview |
| 101 | + |
| 102 | + |
| 103 | + |
| 104 | +#### 多种主题切换 - Theme |
| 105 | + |
| 106 | +[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jtwNhvqm-1572482334807)(https://www.pdai.tech/_images/spring/springboot-javafx-app-5.png)] |
| 107 | + |
| 108 | +#### 消息及配置悬浮框 - Message/Configuration... |
| 109 | + |
| 110 | + |
| 111 | + |
| 112 | +#### 全屏最大化最小化 - FullScreen/Max/Min/Close |
| 113 | +> 包括全屏是基于JavaFX的一个组件,不是原生。 |
| 114 | +
|
| 115 | + |
| 116 | + |
| 117 | +### 示例代码 |
| 118 | + |
| 119 | +@See https://github.com/realpdai/springboot-javafx-app-demo |
0 commit comments