# springboot-javafx-app-demo
**Repository Path**: rpgjack/springboot-javafx-app-demo
## Basic Information
- **Project Name**: springboot-javafx-app-demo
- **Description**: No description available
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 3
- **Created**: 2020-08-25
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# springboot-javafx-app-demo
## Spring Boot - JavaFX 2.0应用
> 很多人对Java开发native程序第一反应还停留在暗灰色单一风格的Java GUI界面,开发方式还停留在AWT或者Swing。本文主要基于SpringBoot和JavaFX开发一个Demo给你展示Java Native应用可以做到什么样的程度。当然JavaFX 2.0没有流行起来也是有原因的,而且目前native的选择很多,前端是个框架都会搞个native... @pdai
- [Spring Boot - JavaFX 2.0应用](#spring-boot---javafx-20%e5%ba%94%e7%94%a8)
- [技术背景 - 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)
- [全新现代主题:Modena](#%e5%85%a8%e6%96%b0%e7%8e%b0%e4%bb%a3%e4%b8%bb%e9%a2%98modena)
- [用于 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)
- [WebView 增强功能](#webview-%e5%a2%9e%e5%bc%ba%e5%8a%9f%e8%83%bd)
- [JavaFX Scene Builder 2.0](#javafx-scene-builder-20)
- [JavaFX 3D](#javafx-3d)
- [富文本](#%e5%af%8c%e6%96%87%e6%9c%ac)
- [TreeTableView](#treetableview)
- [日期控件DatePicker](#%e6%97%a5%e6%9c%9f%e6%8e%a7%e4%bb%b6datepicker)
- [Spring Boot+JavaFX2 Demo介绍](#spring-bootjavafx2-demo%e4%bb%8b%e7%bb%8d)
- [程序加载 - Loader](#%e7%a8%8b%e5%ba%8f%e5%8a%a0%e8%bd%bd---loader)
- [和WEB一样风格的GUI](#%e5%92%8cweb%e4%b8%80%e6%a0%b7%e9%a3%8e%e6%a0%bc%e7%9a%84gui)
- [对话框 - Popup](#%e5%af%b9%e8%af%9d%e6%a1%86---popup)
- [Web应用嵌入 - Webview](#web%e5%ba%94%e7%94%a8%e5%b5%8c%e5%85%a5---webview)
- [多种主题切换 - Theme](#%e5%a4%9a%e7%a7%8d%e4%b8%bb%e9%a2%98%e5%88%87%e6%8d%a2---theme)
- [消息及配置悬浮框 - 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)
- [全屏最大化最小化 - 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)
- [示例代码](#%e7%a4%ba%e4%be%8b%e4%bb%a3%e7%a0%81)
> 最全的Java后端知识体系 [https://www.pdai.tech](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