JavaFX 11 发布 与 JDK 拆分后的首个正式版
JavaFX 11 发布了,JavaFX 是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计、创建、测试、调试和部署富客户端程序,并且和 Java 一样跨平台。由于 JavaFX 库被写成了 Java API,因此 JavaFX 应用程序代码可以调用各种 Java 库中的 API,例如 JavaFX 应用程序可以使用 Java API 库来访问本地系统功能并且连接到基于服务器中间件的应用程序。
JavaFX 可以自定义程序外观,CSS 将外观和样式与业务逻辑实现进行了分离,因此人员可以专注于编码工作。值得注意的是,从 JDK 11 开始,JavaFX 模块与 JDK 分开提供。
JavaFX 11 需要 JDK 10(必须是 OpenJDK 版本)或 JDK 11,建议使用 JDK 11。
此次更新主要内容如下:
重要更新
- JavaFX 模块指定:因为 JDK 不再包含 JavaFX,那么必须明确包含应用程序使用的 JavaFX 模块,详情见:https://openjfx.io/openjfx-docs/。
- 添加 API 以自定义 Spinner 控件的步骤重复计时。在 JavaFX 11 中修改值步骤之前,必须在 Spinner 控件箭头按钮上按下鼠标一段默认持续时间,JavaFX 11 中已添加两个新属性“initialDelay”和“repeatDelay”来配置此操作。
- javafx.* 模块现在由应用程序类加载器加载,默认情况下不再具有权限。想要在启用安全管理器的情况下运行的应用程序需要使用“-Djava.security.policy”指定自定义策略文件,并为每个 javafx.* 模块授予所有权限。
- 默认 GTK 版本从 v2 更新为 v3。将在存在 gtk3 库的 Linux 平台上使用 GTK 3。
特性
- 新增:添加了公共 FX Robot API 以支持模拟用户交互,例如在键盘上输入,使用鼠标并捕获图形信息。
- 移除:FX Media 移除了对 libavcodec 53 和 55 的支持。
此外公告还提供了关于以下一些常见问题的解决方案:
- OpenJDK 11 环境下,JavaFX 在 Ubuntu 18.04 上启用 Wayland 时崩溃。
- 使用 JDK 10 运行时,Swing interop 需要标准的导出配置。
- 使用具有独立 SDK 的安全管理器运行时,Swing interop 失效。
- 使用 jlink 创建的小 jdk 映像时,Swing interop 失效。
详情查看更新日志。
下载地址: