每当我在 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
我的程序中如何/何处包含“需要传递”?或者这个警告隐藏了不同的问题?
如果您设置为模块化项目,则您的
/src文件夹中应该直接有一个
module-info.java
文件。
以下是 module-info.java 文件内容的示例,来自 openjfx.io 入门文档:
如您所见,“transitive”一词已添加到 javafx.graphics 的行中。
@Phil Freihofner:谢谢您的评论,帮助我解决我的问题。