大家好,欢迎来到IT知识分享网。
介绍
以下记录描述了有关此版本的重要更改和信息。在某些情况下,该说明提供了有关问题或更改的其他详细信息的链接。
从JDK 11开始,JavaFX模块与JDK分开提供。这些发行说明涵盖了独立的JavaFX 11发行版。JavaFX 11需要JDK 10(必须是OpenJDK版本)或JDK 11.建议使用JDK 11。
重要变化
运行JavaFX应用程序
既然JDK不再包含JavaFX,则必须明确包含应用程序使用的JavaFX模块。有关说明,请参阅JavaFX 11入门页面。
添加API以自定义Spinner控件的步骤重复计时
在JavaFX 11中修改值步骤之前,必须在Spinner控件箭头按钮上按下鼠标的默认持续时间。已添加两个新属性“initialDelay”和“repeatDelay”来配置此行为。
initialDelay:在下一个值步骤之前必须在箭头按钮上按下鼠标的持续时间。默认值现在为300毫秒。
repeatDelay:在第一个值步骤之后,每个连续步骤必须按下鼠标的持续时间。默认值现在为60毫秒。
有关更多信息,请参阅JDK-。
默认情况下,独立的javafx模块不再具有权限
javafx.* 模块现在由应用程序类加载器加载,默认情况下不再具有权限。想要在启用安全管理器的情况下运行的应用程序需要使用“-Djava.security.policy”指定自定义策略文件,并为每个 javafx.* 模块授予所有权限。有关更多信息,请参阅JDK-。
将默认GTK版本切换为3
现在,JavaFX将在存在gtk3库的Linux平台上使用GTK 3。在JavaFX 11之前,GTK 2库是默认的。这与JDK 11中AWT的默认值相匹配。有关更多信息,请参阅JDK-。
新功能
以下注释描述了JavaFX 11中的一些增强功能。有关完整列表,请参阅发行说明末尾的表格。
FX Robot API
添加了公共FX Robot API以支持模拟用户交互,例如在键盘上键入键并使用鼠标以及捕获图形信息。有关更多信息,请参阅JDK-。
删除了功能和选项
删除对libavcodec 53和55的支持
FX Media对libavcodec 53和55的支持已被删除。默认情况下,这些库不在受支持的Linux平台上,并且不再需要。有关更多信息,请参阅JDK-。
已知的问题
JavaFX在Ubuntu 18.04上使用Wayland与OpenJDK 11崩溃
启用XWayland窗口服务器时,JavaFX在Ubuntu 18.04 Linux机器上崩溃。只要FX窗口工具包代码在Linux上使用GTK 3,就会发生这种情况,这是JavaFX 11的默认设置。
建议的解决方法是在运行JavaFX应用程序时使用Xorg服务器而不是Wayland服务器。请注意,JDK 10或JDK 11不支持Wayland。
另一种解决方法是通过在命令行上传递以下系统属性来显式强制GTK 2:
java -Djdk.gtk.version=2 ...
有关更多信息,请参阅JDK-。
使用JDK 10运行时,Swing interop需要合格的导出
要使用带有OpenJDK 10版本的JavaFX 11运行FX / Swing互操作应用程序,必须在java命令行中添加以下四个限定导出。
--add-exports=java.desktop/java.awt.dnd.peer=javafx.swing --add-exports=java.desktop/sun.awt=javafx.swing --add-exports=java.desktop/sun.awt.dnd=javafx.swing --add-exports=java.desktop/sun.swing=javafx.swing
有关更多信息,请参阅JDK-。
使用具有独立SDK的安全管理器运行时,Swing interop失败
在启用安全管理器的情况下运行时,FX / Swing互操作应用程序将失败。使用JFXPanel或SwingNode的应用程序必须在未启用安全管理器的情况下运行。有关更多信息,请参阅JDK-。
使用jlink创建的最小jdk映像时,Swing interop失败
使用包含JavaFX 11 jmods包中的javafx.swing模块的jlink创建的最小Java映像将无法运行FX / Swing互操作应用程序。例如,如下创建的图像将不起作用:
jlink --output myjdk --module-path javafx-jmods-11 \ --add-modules java.desktop,javafx.swing,javafx.controls
javafx.swing模块依赖于JDK 11中新的jdk.unsupported.desktop模块,必须通过该–bind-services选项显式添加或包含该模块。
解决方法:使用以下两种方法之一创建映像:
jlink --output myjdk --module-path javafx-jmods-11 \ --add-modules java.desktop,javafx.swing,javafx.controls,jdk.unsupported.desktop jlink --output myjdk --bind-services --module-path javafx-jmods-11 \ --add-modules java.desktop,javafx.swing,javafx.controls
有关更多信息,请参阅JDK-。
固定错误列表
发行密钥概要子组件JDK-8203345启用屏幕阅读器时VirtualFlow中的内存泄漏无障碍JDK-8204336当嵌套事件循环处于活动状态时,Platform.exit()会抛出ISE应用程序生命周期JDK-8089454[HTMLEditor]选择删除CENTER对齐控制JDK-8154039选择TabPane :: getTabs()中未包含的选项卡时内存泄漏控制JDK-8157690[TabPane]排序选项卡使选项卡选择菜单为空控制JDK-8165459HTMLEditor:意外禁用剪贴板工具栏按钮控制JDK-8185854具有自定义外观的TabPane中不可编辑的ComboBox上的NPE控制JDK-8187432ListView:启动时EditEvent的索引不正确控制JDK-8192800表自动调整大小会忽略列调整大小策略控制JDK-8193311[Spinner]在ENTER上未激活默认按钮控制JDK-8193495快速删除和添加操作后,TabPane不会正确更新标题区域中的选项卡位置控制JDK-8194913如果将窗格添加到工具栏,则会破坏焦点遍历控制JDK-8196827test.javafx.scene.control.ComboBoxTest – 生成NullPointerException控制JDK-8197846ComboBox:删除并重新添加后变为无法点击控制JDK-8197985在ListView中按Shift + DOWN会导致抛出异常控制JDK-8200285TabDragPolicy.REORDER阻止显示ContextMenu控制JDK-8201285重复使用具有disable = true的DateCell时,DateCell文本颜色未正确更新控制JDK-8208610在FXMLLoader :: getDefaultClassLoader中调用类的错误检查FXMLJDK-8129582在Linux上显示RTL语言文本时,控件显着减慢图像JDK-8195801用MarlinFX中的sun.misc.Unsafe替换jdk.internal.misc.Unsafe图像JDK-8195802消除在javafx.graphics中使用jdk.internal.misc安全实用程序图像JDK-8195806消除javafx.graphics中对sun.font.lookup的依赖图像JDK-8195808消除javafx.graphics中对sun.print的依赖图像JDK-8196617在某些环境中,FX打印测试因NPE而失败图像JDK-8198354[macOS]单词包装标签中显示的损坏的泰语字符图像JDK-8201231WindowStage.setPlatformEnabled中的java.lang.NullPointerException图像JDK-8202396ios native imageloader中的内存泄漏图像JDK-8202743虚线描边随机涂错,可冻结应用图像JDK-8203378如果FX是使用OpenJDK构建的,则JDK构建无法编译javafx.graphics module-info.java图像JDK-8203801PrismLoaderGlue.stg文件中缺少Classpath异常图像JDK-8207328javafx.css.Stylesheet的API文档不准确/错误图像JDK-8209191[macOS]扭曲的复杂文本渲染图像JDK-8088722GSTPlatform无法播放具有多个音轨的MP4文件媒体JDK-8191446[Linux]为openjfx构建构建并提供libav媒体存根媒体JDK-8193313MediaPlayer泄漏本机内存媒体JDK-8195803消除在javafx.media中使用sun.nio.ch.DirectBuffer媒体JDK-8198316在macOS High Sierra 10.13.2上播放m3u8文件时,MediaPlayer崩溃媒体JDK-8199008[macOS,Linux]实例化MediaPlayer导致CPU使用率超过100%媒体JDK-8199527将GStreamer升级到1.14媒体JDK-8202393App Transport Security使用新的编译器使用JDK构建阻止macOS上的http媒体媒体JDK-8191661Win32 HiDPI上的FXCanvas产生错误的结果其他JDK-8193910cssref.html和introduction_to_fxml.html中的版本号是错误的其他JDK-8195799在javafx模块中使用系统记录器而不是平台记录器其他JDK-8195800消除对javafx模块中sun.reflect.misc的依赖其他JDK-8195974将javafx中的java.util.logging替换为System logger其他JDK-8196297删除过时的JFR记录器代码其他JDK-8199357从FX删除对applet和Java Web Start的引用其他JDK-8200587修复FX API文档中的错误其他JDK-8202036更新OpenJFX许可证文件以匹配OpenJDK其他JDK-8202357ModuleHelper.java中版权标头中的额外字符其他JDK-8204653修复FX API文档中的错误其他JDK-8204956修复JDK-8200285后清理空白其他JDK-8207794FXCanvas被重新定义时,FXCanvas不会更新EmbeddedStageInterface的x / y其他JDK-8208294使用jrt协议时,安装本机库失败其他JDK-8180151JavaFX错误地使用具有特定尺寸的两个3D框渲染场景图场景图JDK-8192056从组或容器中删除javafx.scene.shape.Sphere-objects时发生内存泄漏场景图JDK-8205008GeneralTransform3D转换函数与单个Vec3d参数错误结果场景图JDK-8207377使用HiDPI记录Robot :: getPixelColor的行为场景图JDK-8201291单击具有setFocusable(false)的JFXPanel会导致其processMouseEvent方法永远循环swingJDK-8088769HtmlEditor中未显示透明色的AlphachannelwebJDK-8088925非透明背景导致NumberFormatExceptionwebJDK-8089375当WebWorker文件无法访问时,脚本应该以静默方式失败或发布有意义的异常webJDK-8147476使用MathML标记元素渲染问题webJDK-8193368[OS X]删除冗余文件webJDK-8193590将WebView与Tooltip一起使用时内存泄漏webJDK-8194265使用FileReader读取文件时,Webengine(webkit)崩溃webJDK-8194935Cherry挑选GTK WebKit 2.18.5的变化webJDK-8195804从java.base删除未使用的合格sun.net.www导出到javafx.webwebJDK-8196011从JFXPanel应用程序使用WebView时发生间歇性崩溃webJDK-8196374windows x86 webview-icu isAlphaNumericString崩溃webJDK-8196677Cherry挑选GTK WebKit 2.18.6的变化webJDK-8196968在JNIEnv _ :: CallObjectMethod退出时出现一次崩溃webJDK-8197987将libxslt更新为1.1.32版webJDK-8199474更新到WebKit的606.1版本webJDK-8200418“webPage.executeCommand(”“removeFormat”“,null)删除了body元素的样式”webJDK-8200629将SQLite更新到版本3.23.0webJDK-8202277由于依赖于javafx.swing,WebView图像捕获因独立FX而失败webJDK-8203698访问某些网站时,JavaFX WebView崩溃webJDK-8204856在PAGE_REPLACED事件之后,WebEngine文档变为空webJDK-8206899运行’dom / html / level2 / html / AppletsCollection.html’时,DRT会随机崩溃webJDK-8206995删除未使用的WebKit文件webJDK-8208114在Webview中打破了文本内容和URL链接功能的拖放webJDK-8208622使用html表单控件调用print API时出现[WebView] IllegalStateExceptionwebJDK-8209049Cherry挑选GTK WebKit 2.20.4更改webJDK-8163795[Windows]在本机GetScreenCapture方法中删除对StretchBlt的调用窗口的工具包JDK-8191885[MacOS] JavaFX主窗口无法在MacOS中从全屏模式返回窗口的工具包JDK-8196031FX Robot mouseMove在Windows 10 1709上使用HiDPI失败窗口的工具包JDK-8199614[macos] ImageCursor.getBestSize()抛出NullPointerException窗口的工具包JDK-8204635[Linux] getMouseX,gtk中的getMouseY GlassRobot.cpp忽略了HiDPI规模窗口的工具包JDK-8207372Robot.mouseWheel在Linux,Mac上没有正确实现窗口的工具包增强列表
发行密钥概要子组件JDK-创建工件和功能以将其上载到Maven Central构建JDK-添加API以自定义Spinner控件的步骤重复计时控制JDK-在ColorPicker调色板中添加标准颜色控制JDK-修改公共API的返回类型StyleConverter.getEnumConverter()控制JDK-将MarlinFX升级到0.9.2图像JDK-FX Robot API场景图JDK-使用getCenter方法增强Bounds类场景图JDK-使用公共API支持FX Swing互操作swingJDK-将FX的默认GTK版本切换为3窗口的工具包
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/53144.html