java - 为什么我会收到“由于缺少'需要传递'而导致客户端无法访问模块 javafx.graphics 的类型 GraphicsContext”警告?
问题描述
每当我在我的 JavaFX 应用程序中创建一个 GraphicsContext 对象时,它都会创建一个错误,内容如下:
由于缺少“需要传递”,客户端可能无法访问模块 javafx.graphics 中的类型 GraphicsContext
这是导致警告/错误的代码的一个小示例:
import javafx.scene.canvas.GraphicsContext;
public Factory(GraphicsContext gc) {
super();
this.gc = gc;
}
GraphicsContext 以警告颜色加下划线,并具有 eclipse 建议的 3 个快速修复。其中 2 个包括添加根本无法解决问题的 @SuppressWarnings 和其他“配置问题服务器性”,我认为它只是告诉 eclipse 不要担心这个问题。
此代码在 eclipse 中运行时运行良好,但是当我导出为可运行的 JAR 文件时,该文件立即关闭。我希望客户可以访问这些类,因为 GraphicsContexts 对我的应用程序来说很有趣。
当我使用 JavaFX 类阶段时,我也会遇到同样的错误。
由于缺少“需要传递”,客户端可能无法访问模块 javafx.graphics 中的类型 Stage
我正在使用 eclipse 和 jdk-16
在我的程序中如何/在哪里包含“需要传递”?还是此警告隐藏了其他问题?
解决方案
如果您设置为模块化项目,您应该在/srcmodule-info.java
文件夹中直接有一个文件。
以下是openjfx.io 入门文档中 module-info.java 文件的内容示例:
如您所见,“transitive”一词已添加到 javafx.graphics 的行中。
推荐阅读
- c++ - GSOAP 使 std::string 中的 utf-8 格式不正确
- amazon-web-services - AWS Pinpoint 推送通知历史记录
- android - 应用程序调试 gradle 构建失败取决于目标设备
- .htaccess - HTACCESS 根据 URL 重定向多个 Vue 路由器应用程序
- android - 运行颤振应用程序时出现异常。检索 ro.product.cpu.abi 的设备属性时出错
- android - 在我尝试删除已创建的文档后,FirebaseFireStore 为 isSuccess 返回 true
- mysql - 如何从mysql中检索字段值应以字母开头的行?
- ios - 如何对以下 json 使用可编码和可解码?
- javascript - JQuery 函数返回不正确的像素数量
- java - JSON 值到 Java 类的转换