问题标签 [openjfx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
619 浏览

javafx - 是否可以在 ZuluFX for Mac 上使用 javapackager

我能够在 Windows 上将 ZuluFX 8 与 javapackager 一起使用。但是,在 Mac 上我收到此错误:

由于配置问题而跳过了 Bundler Mac 应用程序映像:无法确定指定的运行时目录中存在哪个 JRE/JDK。
修复建议:将运行时目录指向 JDK/JRE 根目录、该根目录的 Contents/Home 目录或 JDK 的 Contents/Home/jre 目录之一。

将包移动到其中非常容易,Contents/Home但我怀疑这是否可行,因为似乎没有 JRE 与 Mac 版本的 ZuluFX 8 捆绑在一起。这是可以解决的问题吗?

0 投票
1 回答
1440 浏览

java - 如何使用 JavaFX 11(模块化)创建独立应用程序?

我正在按照这里的教程并使用openjdk 11.0.2and javafx-sdk-11.0.2
我已经在 Eclipse 中导入了maven项目。该项目实际上可以很好地编译和打包。它还在 /target 目录中创建了 jar 文件。
问题是,我想为我的应用程序导出一个可执行文件,它本身也嵌入了必要的 JRE(因此不需要在目标机器上安装 JRE)。
这是实际项目

如何在 Maven 中自动生成独立可执行文件?如果可能的话,我想要一个 exe。

0 投票
1 回答
1735 浏览

java - JDK 11 和 JavaFX 11:为 ARM(Tinker Board)构建未运行(哈希不匹配)

我有一个 JavaFX 8 项目,我使用 NetBeans 8.2 在 Windows 10 上开发。我由此构建的 JAR 在 Asus Tinker Board 上运行。

对于 JDK 11 和 JavaFX 11,我想利用一些新功能并希望获得一些性能提升。安装 NetBeans 10 并在教程的帮助下:https ://openjfx.io/openjfx-docs/#introduction (JavaFX 和 NetBeans > Non-modular with Maven 部分),我已经成功移植并可以在我的视窗系统。

通过 IDE 或使用命令提示符: java --module-path %PATH_TO_FX% --add-modules=javafx.c ontrols,javafx.fxml,javafx.graphics,javafx.media -jar Praatpaal2-2.0-jar-with -dependencies.jar

与 JavaFX 8 相比,JavaFX 模块现在作为模块添加。

但是,当我在 Asus Tinker Board(运行 Tinker OS (Debian))上执行相同操作时,出现以下错误:

Error occurred during initialization of boot layer java.lang.module.FindException: Hash of javafx.base (d87df23ee5c54c7ff062c4f8572bab8aaf6c1775854662008fccdb993957bcad) differs to expected hash (320c5b0ffaf22fec9daf0c3e364f6598631b333fa95015a0f055e1c1c597c05b) recorded in java.base

关于这种哈希不匹配的信息很少。我的怀疑是它要么尝试加载 javafx.base.jar 的 Windows 版本,要么我在 Maven pom.xml 中使用 org.openjfx 但在运行时引用 GluonHQ JavaFX,或者我的模块化设置有问题.

pom.xml 的依赖项和构建部分如下所示:

我已经尝试了有和没有分类器的 4 个 JavaFX 依赖项。但这没有什么区别。jar-with-dependencies 构建包含所有依赖项的 jar,除了我在运行时使用前面提到的 java 命令添加的 JavaFX 依赖项。

对于 Java 11,我使用:
https ://bell-sw.com/pages/java-11.0.2
Microsoft Windows 64 位用于 Windows 系统
Linux ARMv7&8 32 位 HardFloat用于 Asus Tinker Board

对于 JavaFX 11,我使用:
https ://gluonhq.com/products/javafx/用于 Windows 系统的JavaFX
Windows SDK用于华硕 Tinker Board 的
JavaFX armv6hf SDK

0 投票
0 回答
181 浏览

javafx - TableView 键盘导航 - 为什么 setOnKeyPressed 在 JavaFX11 (OpenJFX) 与 JavaFX8 中对于 TAB、SHIFT+TAB 等键的行为不同?

我已将我的应用程序从 JavaFX8 升级到 JavaFX11(带有 OpenJFX 的 OpenJDK),并尝试使用键盘TableCellsTableView.

在 JavaFX8 中,我曾经setOnKeyPressed捕获和处理键特殊键,例如。TAB 移动到下一个右侧单元格,SHIFT+TAB 移动到上一个左侧单元格。那工作得很好。

但是,当在 JavaFX11 中运行相同的代码时,TAB 会将焦点从 移动TableView到屏幕上的其他控件,而 SHIFT+TAB 的作用相同,但控制顺序相反。就好像 JavaFX11 正在恢复 TAB 和 SHIFT+TAB 的默认行为并忽略setOnKeyPressed.

为什么会这样?JavaFX8 和 JavaFX11 之间的键盘导航有什么改变吗?我在我的代码中做错了吗?

我修改了 JavaFX11 代码以注册和使用EventHandler而不是setOnKeyPressed. 然后键盘导航就像在 JavaFX8 中一样工作。但是,新EventHandler的干扰了EventHandler我的应用程序中的其他 s,我真的很希望能够使用setOnKeyPressed.

我一直在谷歌搜索,但到目前为止只找到一个参考,至少其中一部分看起来像同一个问题: JavaFX 11 TableView Cell navigation by TAB key press without custom editableCell class。其他参考适用于 JavaFX8 或更早版本。

这是一个演示该问题的 MVCE。相同的代码在 JavaFX8 和 JavaFX11 中运行。您可以在不进行事件处理的情况下运行它来查看默认行为,或者使用其中一个setOnKeyPressedEventHandler来查看使用 TAB 和 SHIFT+TAB 时的行为差异。

我正在使用 jdk1.8.0_202 和 11.0.2 版本的 OpenJDK 和 OpenJFX,它们都在 Windows 7 上的 Netbeans 10.0 中运行。

0 投票
0 回答
900 浏览

java - 使用 OpenJDK 8 运行 OpenJFX?

我尝试使用 JavaFX (openjfx) UI 运行 OpenJDK 8 应用程序。当我尝试编译我的代码时,我收到以下错误:类文件的版本错误 55.0,应该是 52.0。

所以我的问题是:它们一般不兼容吗?

我想知道,因为在 OpenJDK 11 下它似乎可以工作(至少是编译),但我在网上找不到关于它的东西。

我知道错误意味着混合了不同的 Java 版本,但我想知道这怎么可能。OpenJFX 是否仅作为 Java11 的二进制文件提供?

注意:我通过 maven 将 openjfx 版本 11 包含到我的项目中。

0 投票
1 回答
585 浏览

css - 如何使用 CSS 设置两个相邻 TableView 的边框样式,使它们看起来是 JavaFX 11 (OpenJFX 11) 中的单个 TableView

一个 CSS 新手问题。

我在两个相邻TableView的 s 中显示大量数据,并双向绑定它们ScrollBar的 s、FocusModels 和SelectionModels 以使它们保持同步。

我现在正试图让这两个TableViews 看起来像一个,并希望拥有:

  1. 当两个s有焦点时,两个 s周围的默认蓝色边框。TableView TableView
  2. 当两者都没有焦点时,两个 TableViews周围的默认灰色边框。
  3. TableViews 相交的地方没有边界。

我该怎么做呢?

这样的事情会很棒:

在此处输入图像描述

到目前为止,我已经能够通过这样做来删除“相遇”边界:

使用这样的 CSS:

This also correctly sets the border on a single TableViewwhen one of its rows is selected.

但是,我无法弄清楚当任何一个都有焦点时如何在两个 TableViews周围获得边框。

这是一个MVCE。抱歉它的长度,但我需要包含同步代码才能有一个测试用例。

我正在使用 11.0.2 版本的 OpenJDK 和 OpenJFX,在 Windows 7 上的 Netbeans 10.0 中运行。

MyTableViewCSS.css

Test014.java

0 投票
0 回答
382 浏览

java - 无法构建 JavaFX Maven 项目

我已经安装了openjdk-8and openjfx,但我仍然无法构建任何包含 JavaFX 元素的 Maven 项目。Netbeans linting 没有显示任何错误,但是当我单击“构建项目”时,输出显示:

感谢您的任何想法。

编辑:附加pom文件:

EDIT2:调试输出说:

和 nbactions.xml:https ://pastebin.com/0rGDD1Wh

0 投票
0 回答
1736 浏览

java - 导入 javafx 无法在 Visual Studio Code 中解析

我在 Ubuntu 18.04 上使用 openjdk-11、openjfx 和 Visual Studio Code。导入或使用 javafx 函数时,linting 会显示The import javafx cannot be resolved.

当我尝试启动或构建项目时,它说Build failed, do you want to continue?

我正在使用以下 VS Code 扩展:vscjava.vscode-java-pack, vscjava.vscode-java-debug, vscjava.vscode-maven and redhat.java. 重要的是说我正在做 Maven 项目。

0 投票
1 回答
732 浏览

java - openjfx 中的 SwingNode 类导致问题

我想将我的 JavaFX 应用程序迁移到 JDK 11 和 OpenJFX,我注意到 SwingNode 会导致问题。我决定创建一个新项目,看看发生了什么。有趣的是,当我更改为 JDK 8 时,一切都很好。在较新的版本中,会出现错误。我不知道是什么原因造成的。

虚拟机选项:--module-path ${PATH_TO_FX} --add-modules=javafx.controls,javafx.fxml

0 投票
1 回答
337 浏览

java - 如何直接使 OpenJFX 可用?

我安装了 OpenJDK 11 和 OpenJFX 11,并设法构建和运行了 JavaFX 应用程序。但是,我只能在命令行中添加--module-path和参数后才能运行它。--add-modules

如何设置 OpenJFX 以便默认情况下它可用于任何应用程序(无需额外参数),例如 Oracle 的 JDK 版本 8?