java 11与java fx_Java FX11

Java FX11是一款常用的Java框架开发工具包,包含Java写成的类和接口,主要用于设计、创建、测试、调试和部署客户端程序,支持大量的UI控件和CSS,无需jdk11就可以独立使用了,需要的开发者可以下载!

fd795bd527349f7946a1573cf8eb577e.png

软件特点

1. JavaFX是一个Java库,包括用Java写成的类和接口。所以使用JavaFX写的程序可以跨平台运行。而且现在大量成熟的Java库都可以为JavaFX所使用。

2. 内置大量UI控件和CSS支持。层级样式表(CSS)将外观和样式与业务逻辑实现进行了分离。图形设计师可以使用FXML语言(一种XML语言)来表述图形界面,使用CSS来定制程序的外观和样式。程序员可以使用Java代码来表述业务逻辑。

3. 内置Canvas API以及特效,动画等可以让你制作出类似Flash的程序。

3. 本身提供对三维图形的支持,而且支持硬件加速。

4. 还有就是类似WPF的属性绑定。

5. 此外,JavaFX中还可以放置Java Swing组件,支持WebView即使用HTML编写的页面。

使用说明

使用JavaFX 11运行HelloWorld

下载适用于您的操作系统的JavaFX SDK.

您现在可以从命令行编译和运行JavaFX 11应用程序. 为此,您必须将模块路径指向JavaFX模块的位置,例如

export PATH_TO_FX = / path / to / javafx-sdk-11 / lib

编译代码(例如使用HelloFX.java)如下:

javac --module-path $ PATH_TO_FX --add-modules = javafx.controls HelloFX.java

确保添加所需的模块,同时考虑传递依赖性(因此不需要添加javafx.graphics模块,因为javafx.controls模块需要它).

接下来,运行应用程序:

java --module-path $ PATH_TO_FX --add-modules = javafx.controls HelloFX

使用Maven运行HelloWorld

如果要使用maven开发JavaFX应用程序,则无需下载JavaFX SDK. 只需在pom.xml中指定所需的模块和版本,构建系统将下载所需的模块,包括适用于您平台的本机库.

这是一个pom.xml文件,显示了如何实现这一目标.

使用以下命令运行应用程序(例如使用HelloFX.java):

mvn编译exec:java

注意:确保将JAVA_HOME环境变量设置为JDK 11.

使用Gradle运行HelloWorld

与Maven类似,我们可以将JavaFX jar声明为build.gradle中的依赖项.但是,对于Gradle,我们需要找到并指定平台/ OS作为分类器.这需要一个小脚本:

在Gradle中解决传递依赖性时不考虑分类器,我们需要使用platform作为分类器指定所有三个JavaFX模块.

接下来,我们将--module-path设置为可能是类路径的值,并将javafx.controls作为模块添加到javac和java命令中.

这是一个build.gradle文件,它显示了如何实现这一目标.

使用以下命令运行应用程序(例如使用HelloFX.java):

gradle run

注意:确保使用gradle版本4.8+并将JAVA_HOME环境变量设置为JDK 11.

HelloWorld程序说明

所有的JavaFX主程序都需要继承Application类。

继承了Application类的子类必须重写start方法。start方法中可以进行UI控件的布局。当JavaFX程序启动的时候,会自动调用start方法。

mian函数中必须调用launch方法,该方法会启动JavaFX程序。

JavaFX程序用户界面的顶层是stage,代表窗体。stage中是scene,scene中可以包含各种UI控件和布局控件,共同组成用户UI。

当然,这只是一个入门的JavaFX程序,还看不出JavaFX技术的优点。

更新内容

重要更新

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 失效。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值