问题标签 [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.
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 捆绑在一起。这是可以解决的问题吗?
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
javafx - TableView 键盘导航 - 为什么 setOnKeyPressed 在 JavaFX11 (OpenJFX) 与 JavaFX8 中对于 TAB、SHIFT+TAB 等键的行为不同?
我已将我的应用程序从 JavaFX8 升级到 JavaFX11(带有 OpenJFX 的 OpenJDK),并尝试使用键盘TableCells
在TableView
.
在 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 中运行。您可以在不进行事件处理的情况下运行它来查看默认行为,或者使用其中一个setOnKeyPressed
或EventHandler
来查看使用 TAB 和 SHIFT+TAB 时的行为差异。
我正在使用 jdk1.8.0_202 和 11.0.2 版本的 OpenJDK 和 OpenJFX,它们都在 Windows 7 上的 Netbeans 10.0 中运行。
java - 使用 OpenJDK 8 运行 OpenJFX?
我尝试使用 JavaFX (openjfx) UI 运行 OpenJDK 8 应用程序。当我尝试编译我的代码时,我收到以下错误:类文件的版本错误 55.0,应该是 52.0。
所以我的问题是:它们一般不兼容吗?
我想知道,因为在 OpenJDK 11 下它似乎可以工作(至少是编译),但我在网上找不到关于它的东西。
我知道错误意味着混合了不同的 Java 版本,但我想知道这怎么可能。OpenJFX 是否仅作为 Java11 的二进制文件提供?
注意:我通过 maven 将 openjfx 版本 11 包含到我的项目中。
css - 如何使用 CSS 设置两个相邻 TableView 的边框样式,使它们看起来是 JavaFX 11 (OpenJFX 11) 中的单个 TableView
一个 CSS 新手问题。
我在两个相邻TableView
的 s 中显示大量数据,并双向绑定它们ScrollBar
的 s、FocusModel
s 和SelectionModel
s 以使它们保持同步。
我现在正试图让这两个TableView
s 看起来像一个,并希望拥有:
- 当两个s有焦点时,两个 s周围的默认蓝色边框。
TableView
TableView
- 当两者都没有焦点时,两个
TableView
s周围的默认灰色边框。 TableView
s 相交的地方没有边界。
我该怎么做呢?
这样的事情会很棒:
到目前为止,我已经能够通过这样做来删除“相遇”边界:
使用这样的 CSS:
This also correctly sets the border on a single TableView
when one of its rows is selected.
但是,我无法弄清楚当任何一个都有焦点时如何在两个 TableView
s周围获得边框。
这是一个MVCE。抱歉它的长度,但我需要包含同步代码才能有一个测试用例。
我正在使用 11.0.2 版本的 OpenJDK 和 OpenJFX,在 Windows 7 上的 Netbeans 10.0 中运行。
MyTableViewCSS.css
Test014.java
java - 无法构建 JavaFX Maven 项目
我已经安装了openjdk-8
and openjfx
,但我仍然无法构建任何包含 JavaFX 元素的 Maven 项目。Netbeans linting 没有显示任何错误,但是当我单击“构建项目”时,输出显示:
感谢您的任何想法。
编辑:附加pom文件:
EDIT2:调试输出说:
和 nbactions.xml:https ://pastebin.com/0rGDD1Wh
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 项目。
java - openjfx 中的 SwingNode 类导致问题
我想将我的 JavaFX 应用程序迁移到 JDK 11 和 OpenJFX,我注意到 SwingNode 会导致问题。我决定创建一个新项目,看看发生了什么。有趣的是,当我更改为 JDK 8 时,一切都很好。在较新的版本中,会出现错误。我不知道是什么原因造成的。
虚拟机选项:--module-path ${PATH_TO_FX} --add-modules=javafx.controls,javafx.fxml
java - 如何直接使 OpenJFX 可用?
我安装了 OpenJDK 11 和 OpenJFX 11,并设法构建和运行了 JavaFX 应用程序。但是,我只能在命令行中添加--module-path
和参数后才能运行它。--add-modules
如何设置 OpenJFX 以便默认情况下它可用于任何应用程序(无需额外参数),例如 Oracle 的 JDK 版本 8?