现在Java 桌面应用程序能做到什么程度(Spring Boot+JavaFX2开发)
作者:@pdai
本文为作者原创,转载请注明出处:https://www.cnblogs.com/pengdai/p/11769194.html
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 的一个组件,不是原生。