问题标签 [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 投票
2 回答
555 浏览

intellij-idea - 如何在 Intellij Idea 上启动 openjfx 11 应用程序?

我正在使用带有 java 11 的 openjfx 11。

如果我用 mvn 启动应用程序,它工作正常。我添加了这些依赖项:

但如果我在 Intellij Idea (2018.2) 中运行,它会给我:

IntelliJ 想法将罐子添加到类路径中。

0 投票
0 回答
696 浏览

java - 如何为 Openjdk 11 和 Openjfx 11 应用程序构建工件?(智能思想)

我实际上是 openjfx 11 的新手,我已经尝试使用 openjdk 和 openjfx 库在 intellij IDEA 中编译我的项目。但是在我为我的项目构建工件之后,我的项目的 jar 文件没有执行。

我尝试使用 cmd 执行它并看到此错误:

错误:缺少 JavaFX 运行时组件,需要运行此应用程序

已经搜索了很多论坛,但是我没有看到针对此特定问题的解决方案。

提前致谢!

0 投票
1 回答
558 浏览

maven - 在 OSGi 应用程序中使用 Openjfx 11 类


有谁知道是否有办法在 Eclipse 工作区中使用 JavaFX 模块?我有一个 OSGi-maven 多模块应用程序。

到目前为止,我已经尝试了几件事。

  1. 下载 JavaFX SDK 并在 Eclipse 中添加 jars 作为用户定义的库。
  2. 捆绑 JavaFX jar 并在之后将它们用作常规 OSGi 捆绑包(作为依赖项添加,之后在目标平台中添加)。

这两件事都有效。但是,在第一种情况下,每个开发人员都必须手动将这些 jar 作为库添加到类路径中。第二,对于每个平台,我们必须为每个模块提供不同的捆绑包。

如果我不做这些事情,我就会编译错误,无法找到 JavaFX 类(如预期的那样)。

有没有第三种方法可以做到这一点?通过使用一些 OSGi 功能或类似的东西?我还没有找到在 MANIFEST.MF 中添加模块的任何方法。这甚至可能吗?

我在 OSGi 框架启动器中添加了 JavaFX 模块作为 VM 参数,一切正常。但是我必须做之前提到的其中一件事情,这样我就不会出现编译错误。虚拟机参数:--module-path /path/to/javafx/sdk/11/lib --add-modules javafx.controls,javafx.graphics,javafx.base

0 投票
0 回答
160 浏览

openjfx - openjfx 11 与 intellij IDEA 2018.2

我有使用 JavaFX 的现有 Java 项目。现在我将它转移到 Java 11。我已经下载了 openjfx 并将其 lib 目录路径添加到外部库。在 VM 选项的运行配置中添加了以下内容: --module-path /Users//Downloads/javafx-sdk-11/lib --add-modules=javafx.controls,javafx.fxml JavaFX 类被识别但是当我尝试构建时项目或运行我得到模块未找到错误。 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
18360 浏览

java - IntelliJ IDEA 2018.2、openjdk 11 和 openjfx 11(没有 maven,不是模块化项目):找不到模块 javafx.controls

我刚刚在 intelliJ 中使用 openjdk 11 创建了一个新的 JavaFX 项目,并且我已经在他们的网站上下载了最后一个 openjfx 库。

这是我所做的:

我已添加到运行/调试 VM 选项:--module-path %PATH_TO_FX% --add-modules=javafx.controls,javafx.fxml VM 选项

我添加了一个新变量 env PATH_TO_FX :PATH_TO_FX=%programfiles%\Java\javafx-sdk-11\lib

所以它编译得很好,但在运行时失败:

有谁知道我在这里想念什么?

PS:我已经关注了这个链接https://openjfx.io/openjfx-docs/#install-javafx

编辑 :

我应该在这里有 onpenjfx 库吗?类路径

0 投票
0 回答
794 浏览

java - OpenJFX 跨平台兼容性

因此,随着 Java 11 摆脱 JavaFX,我将不得不切换到 OpenJFX,但是我仍然不确定如何让人们只下载我的应用程序并让它开箱即用。现在我有人在 Mac、Linux 和 Windows 上使用它,我很乐意继续提供这种支持,而不要求他们安装或下载任何东西。
有什么方法可以将 OpenJFX 与我的 jar 一起发布,尤其是允许它跨平台兼容?
任何帮助表示赞赏

0 投票
1 回答
254 浏览

java - jar 文件的自动模块 VM 选项

因此,我目前正在研究 Java 11 中的新变化以及外部 OpenJFX SDK。
但是,我想分发一个 jar 文件并让用户自己下载所需的 SDK 并将其放入与我的 jar 相同的文件夹内的预定义文件夹中会容易得多。
现在我问自己是否可以在启动我的 jar 时自动添加所需的 VM 选项,而无需我的程序的用户使用给定的参数从控制台启动它。
在我的情况下,这些参数看起来像这样:"--module-path=D:\Path\JavaFX\lib" --add-modules=javafx.controls,javafx.fxml,javafx.base,javafx.media,javafx.graphics,javafx.swing,javafx.web
有没有办法让我加载这些模块而不要求用户做更多的事情,而不是下载 SDk 并将其复制到文件夹中?我考虑为用户提供每个操作系统的启动脚本,但这也比启动 jar 更复杂。
感谢您提供任何帮助,我希望没有人问过这个问题,因为我无法找到任何东西。

0 投票
0 回答
138 浏览

java - 使用 OpenJDK 10 的 Gradle JavaFX 项目

我有工作 Gradle/JavaFX 项目。它可以在 JDK8 上正常工作,但现在我切换到 OpenJDK 10,而且我的 IDE (Eclipse) 不知道任何 JavaFX 类。在 Maven 存储库中,我找到了OpenJFX。我尝试将依赖项添加到我的 build.gradle 文件并重建项目,但仍然没有 Eclipse 可以理解的 JavaFx 类。将 JavaFX 依赖项添加到我的项目的正确方法是什么,为什么在 Gradle 中实现 OpenJFX 对我没有帮助?

0 投票
1 回答
997 浏览

java - 有关 OpenJDK 11 和 OpenJFX 11(和 Proguard)的迁移问题

我们目前正在将 Java 应用程序从 Oracle JDK 8(由 JNLP 交付的应用程序代码)迁移到 OpenJDK 11(作为可运行的应用程序代码与 Java 运行时一起交付)。尽管我们在测试环境中或多或少地找到了一个可行的解决方案,但我们仍然存在以下问题:

  1. 我们的应用程序需要 JavaFX,我们希望使用 jlink 进行构建。是否建议使用https://gluonhq.com/products/javafx上提供的 OpenJFX jmods来使用 OpenJDK 构建适当的 jlink 映像,还是有其他选择?

  2. OpenJFX jmods 似乎目前在 gluonhq 上的版本 11(为 JDK 11 编译)中正式提供,而 Proguard 混淆适用于为 JDK 编译的代码,直到版本 10(请参阅https://sourceforge.net/p/proguard/feature -请求/188/)。不确定 Proguard 何时也支持版本 11。我们应该等到它发生,还是我们有什么选择?下载和构建针对版本 10 的 OpenJFX 源(我不知道这是否可能开箱即用),或者甚至保留 Oracle 10 JDK 二进制文件和/或其 javafx jmod 文件是一个不错的选择吗?只要 Proguard 不懂 OpenJDK 11 代码?

  3. 我们正在进一步寻找一种工具来为 Windows 和 MacOS 创建用户友好的可运行文件(例如,无需修改注册表的自解压可执行文件)。javapackager 现在似乎不可用(http://openjdk.java.net/jeps/343计划用于 OpenJDK 12)并且既不支持交叉编译也不支持自动更新机制。因此,我们正在寻找一种工具,它可以做到 a) 自动更新(在启动时动态加载应用程序代码或新的 jlink 图像)和 b) 为 Windows 和 MacOS 构建可运行文件。有没有什么好工具支持类似于 Oracle 的 JNLP 启动器的自动更新机制,可以在生产环境中使用?

  4. 对于 JNLP,我们应用代码签名。是否仍然建议并且可以签署 a) 我们位于 jlink 图像中的应用程序代码和 b) 动态加载的应用程序代码,两者都是使用 JDK11+ 构建的?

谢谢你的帮助,彼得。

0 投票
1 回答
159 浏览

java - openjfx 1.8 不包含 javafx.fxml 包

我刚刚在我的系统上安装了 openjdk 1.8 和 openjfx,还将 jfxrt.jar 添加到类路径中。我可以使用 now javafx.scenejavafx.stage等。但由于某种原因,我的 jfxrt 不包含javafx.fxml包。可能是我想在我的类路径中添加一些库还是别的什么?
此刻我的类路径看起来像:
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/charsets.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/jce.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/jsse.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/management-agent.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/rt.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/resources.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/cldrdata.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/dnsns.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/jaccess.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/localedata.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/nashorn.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/sunec.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/sunjce_provider.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/sunpkcs11.jar
/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/ext/zipfs.jar
/usr/lib/jvm/openjfx/rt/lib/ext/jfxrt.jar