现在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 增强功能

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