问题标签 [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 回答
866 浏览

java-module - 如何通过单击使 java Module JAR 执行

我在 Windows 7 上使用 OpenJDK 11 和 OpenJFX 11。我的 IDE 是 Netbeans 9。我复制了下面的教程(由 NetbeansVideos 发布):

JDK 11、OpenJFX、Apache Ant 和 Apache NetBeans 10

这是一个简单的 Hello World 类型代码。它适用于 Netbeans。但是当我单击 JAR 文件时它不起作用。

我在环境变量中的 JAVA_HOME 已设置。

如何通过单击执行该模块 JAR?

谢谢。

0 投票
0 回答
165 浏览

java - 构建 JavaFX 应用程序

在 Java 8 中,我创建了一个 JavaFX 应用程序,现在我想用 Java 11 移植和构建它。

我做的第一件事是创建一个module-info.java并添加所需的库。

比我将 OpenJFX 依赖项添加到gradle.build

刷新 Gradle 后,我仍然遇到类似Cannot resolve Symbol 'javafx.beans.property.StringProperty'.

接下来我尝试修改module-info.java类似的内容:

但这并没有改变任何东西,我宁愿得到错误Module not found: javafx.base

谁能指出我做错了什么?

0 投票
1 回答
2653 浏览

java - javafx.base 读取包 javafx.beans

我在 IntelliJ IDEA 中将 OpenJDK 11 和 OpenJFX 11.0.1 与 Gradle 一起用于我的项目。当我使用 javafx.base 模块时,IntelliJ IDEA 在第 1 行(项目模块声明)报告错误,说我的模块要求中没有包含 javafx.beans 模块(bean 是 javafx.base 模块中的一个包)。Gradle jar 任务执行时没有任何错误或警告,因此此错误可能与 IntelliJ IDEA 有关。

错误消息:“模块 'hr.caellian.lunar' 读取 'javafx.base' 和 'javafx.base' 的包 'javafx.beans'”如果我从上面删除 'javafx.base' 要求,'javafx.base'错误被下一个 javafx 模块替换。

我还在 javafx 模块要求行收到警告:“不明确的模块参考:javafx.base” for 'javafx.base' 等等每个 javafx 模块。

这是我的 module-info.java 文件:

我在网上找了至少半个小时的解决方案。我发现的只是一个网站,上面说只有我已经包含的模块是 JFX 所必需的(我认为这是 JavaFX 9)。

我重新下载了 JavaFX 模块以查看我是否错过了复制某些内容,但我没有 - javafx.beans 模块不存在。

如果这是一个问题,'java --list-modules' 不会列出任何 javafx 模块,尽管我认为它应该只列出 jdk 模块并且 OpenJFX 不再包含在 OpenJDK 中。

我将 OpenJFX SDK 安装到 JDK 文件夹中(lib 文件复制到 lib 文件夹,合法相同),从 IDEA 中的 JDK11 的 lib 文件夹中手动添加 javafx jar 依赖文件。我还将所有 jmod 文件添加到 JDK11 的 jmod 文件夹中。

JavaFX 模块是否可能有错误的 module-info.java 文件或类似的文件?这是 IntelliJ IDEA 错误吗?

0 投票
0 回答
693 浏览

openjfx - Linux mint 19 (tara) 上的 OpenJDK 和 OpenJFX

我正在尝试运行一个需要 Java FX 的程序。我刚刚安装了 Linux Mint (Tara) Cinnamon。它安装了 OpenJDK。
openjdk 版本 "10.0.2" 2018-07-17 OpenJDK 运行时环境 (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.3) OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04) .3,混合模式)

我还安装了 openJFX。重新运行 apt-get install openjfx 会产生:读取包列表...完成构建依赖关系树
读取状态信息...完成 openjfx 已经是最新版本(8u161-b12-1ubuntu2)。0 升级,0 新安装,0 删除,0 未升级。

当我尝试运行应用程序时,我收到以下错误: Caused by: java.lang.NoClassDefFoundError: javafx/application/Application

谢谢,克里斯

0 投票
1 回答
981 浏览

java - JFXPanel setScene 使用 java 11 冻结

我想将 openjfx 集成到我的 Java 11 代码中。在 Windows 10 上使用 IntelliJ IDEA 2018.2.6,我创建了一个测试项目并尝试了以下代码

此代码在 setScene() 方法调用中冻结。我尝试调试它,发现代码在 JFXPanel.setScene 方法中的 secondaryLoop.enter() 调用中无限期地等待。任何想法为什么?

此代码在 JDK-8 中运行良好,但不适用于 java-11.0.1。

我在这个问题上一无所获,有点卡在 Java11 JavaFX 问题上。代码有问题吗?或 java11 的 javafx 的任何报告问题

0 投票
1 回答
9786 浏览

java - Maven 找不到 FXMLLoader

我有一个 JavaFx 项目,其中Maven install不断给我错误:

我究竟做错了什么?我如何说服 Maven/Eclipse/Java/Whatever 找到FXMLLoader?

项目结构有两个模块,gui本教程logic中的项目结构相同。我的整体项目 pom 是:

gui模块的 pom 是:

除了微不足道的module_info.java. 报告错误的Classgui.AppController是:

}

0 投票
1 回答
590 浏览

java - javafx 应用程序上缺少标题栏,带有 OpenJFX

我目前正在使用 OpenJDK 11 和 OpenJFX 构建应用程序。它编译得很好,可以启动,但是没有标题栏,如果我在应用程序的边缘附近单击,它会注册为单击它后面的任何窗口。

我正在使用 IntelliJ IDEA,并且花了一段时间才弄清楚如何使用 OpenJFX。无论如何,这是系统详细信息:

我正在运行基本 OS 5.0 Juno(基于 Ubuntu 18.04,一切都是 GTK)IntelliJ IDEA(社区)2018 快速安装。从此处下载的 OpenJFX SDK:来自 Gluon 的 OpenJFX

我刚刚制作了一个新的 JavaFX 应用程序,并将目录 /javafx-sdk-11.0.1/lib/ 添加到外部库,然后运行 ​​-> 编辑配置并添加了 VM 选项--module-path <path>/javafx-sdk-11.0.1/lib --add-modules=javafx.controls,javafx.fxml,javafx.base

控制器和一切似乎都可以工作,但生成的窗口如下所示:JavaFX 没有边框或标题栏

有人知道我在这里做错了什么吗?

0 投票
1 回答
2074 浏览

java - 配置 OpenJFX 11 以将其 DLL 提取到不同的用户指定目录?

有没有办法配置 OpenJFX 11 以将其 DLL 提取到不同的用户指定目录中?

在尝试将现有 Java 10/Maven 项目迁移到 Java 11 时,我尝试使用 OpenJDK 11。为了使代码构建工作,我需要将 JavaFX JAR 添加到 Maven pom.xml 配置文件中(因为 JavaFX 不再是Java 11 的内置部分)。

但是,在运行时,我发现了由于 OpenJFX 将 DLL 文件提取到用户目录中然后出现访问失败而导致的错误(请参阅下面的错误)。多年来,我有很多项目在使用 C:\Users* 目录时出现错误(来自 Microsoft Windows 干扰文件锁定和目录权限、防病毒扫描等),所以我尽量避免使用这些目录可能的。Java 项目在 Windows 7 和 RedHat 7 上的 Java 10 下正常工作,这似乎暗示 Oracle 的 JavaFX 10 JAR 没有将 DLL 提取到 C:\Users* 目录中。OpenJFX 似乎没有问题将 DLL 写入这些目录,但之后它无法读取这些相同的文件。

我在带有 service-pack 1 的 Microsoft Windows 7 Professional 64 位上运行。我还没有尝试在 Linux 上使用 OpenJDK 11 和 OpenJFX 运行,但我想 OpenJFX 也会尝试在该平台上提取其 DLL。

由 OpenJFX 引起的运行时 Java 错误示例:

0 投票
0 回答
77 浏览

java - 如何将外部依赖项添加到 openjfx

我正在尝试将 lwjgl 添加为graphics模块的依赖项。

我已经修改了图形module-info

添加了一个自定义 repo 并将所需的库声明为dependencies,始终在graphics

然后我逐步修复了graphics 这里这里这里的所有依赖项

但是现在我正在努力解决下一个错误:

我想我应该将 lwjgl 添加到 project 的模块路径中media,但是我用完了选项..

我试图修改任务media module-infocompileJava什么都没有。我无法让它工作

我该如何解决?

0 投票
3 回答
18689 浏览

java - 如何使用 JRE 部署 JavaFX 11 桌面应用程序

我有一个 JavaFX (JDK 8) 桌面业务应用程序,它使用 Java Web Start 进行部署。用户安装了 Java 8,他们只需访问 URL(我的 AWS Linux 服务器上的公共 URL)并下载/启动应用程序(使用 Web Start)。通过将新的 JAR 部署到服务器,我也可以轻松地更新应用程序。一切正常。

但是,Oracle 已停止使用 Java 11 进行 Web Start,并且在 2018 年 3 月的“Java 客户端路线图更新”白皮书中,他们建议将 JRE 与应用程序捆绑在一起(“应用程序与独立 JRE 分开分发的概念是,因此,迅速褪色。”)。我不能指望我的用户继续使用 Java 8 进行 Web Start,即使他们确实保持在 8,Oracle 也需要许可证才能继续使用 Java 8(我没有,可能非常昂贵,我更喜欢无论如何都要与社区一起转向 JavaFX 11 和 OpenJDK)。


我想迁移到 JavaFX 11。我遵循 OpenJFX 的“JavaFX11 入门”(https://openjfx.io/openjfx-docs/),使用 OpenJDK 11.0.1 和 Gluon 的 JavaFX SDK 11.0.1(在 Netbeans 10vc2 上) ),并且已经能够运行示例应用程序(在我看来,我应该能够很容易地将我的 JavaFX 8 代码移植到 JavaFX 11)。

然而,这是我被困住的方向。如何将其与 JRE 捆绑并将其部署给我的最终用户(并提供应用程序更新)?有没有简单的方法(甚至是困难的方法,有一些方向/指南)?

我可以花费数百小时在 JavaFX 11 中编写富有表现力、丰富且有用的桌面业务应用程序,但我该怎么办?

JWrapper、InstallAnywhere 等部署工具包是否适合 Java 11 的新时代?Gluon/openjfx.io 是否有我错过的推荐或指南?对于我们专注于编写前端代码的开发人员如何部署应用程序,我似乎无法从知名来源找到任何建议或指南。

感谢您的任何帮助或指导。