java - Java 的 add-opens 似乎无法使包可访问
问题描述
我正在尝试在其中访问 JavaFX 的包私有类和公共静态方法(javafx.scene.control.skin.TableSkinUtils.resizeColumnToFitContent
),以便我可以自动调整 TableView 列的大小。
但是,我使用的是模块系统,因为 JavaFX 11 似乎要求我的应用程序是一个模块。如果我没有为我的应用程序指定一个模块,我会收到这个错误:Error: JavaFX runtime components are missing, and are required to run this application
我实际上宁愿根本不使用模块系统,有没有办法?
现在,由于模块系统,在尝试使该方法TableSkinUtils.resizeColumnToFitContent
可访问时出现异常:
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public static void javafx.scene.control.skin.TableSkinUtils.resizeColumnToFitContent(javafx.scene.control.skin.TableViewSkinBase,javafx.scene.control.TableColumnBase,int) accessible: module javafx.controls does not "opens javafx.scene.control.skin" to module Explorer
因此,我尝试将此解决方法添加--add-opens javafx.controls/javafx.scene.control.skin=ALL-UNNAMED
到 Intellij 的运行配置 VM 选项中。
但是,无论有没有上述情况,我都会遇到同样的例外。
我可能做错了什么?
解决方案
推荐阅读
- amazon - 访问亚马逊 MWS 入站货件
- assembly - 将 yasm 代码(英特尔风格)移植到 gas(AT&T 风格)
- haskell - 尝试将类型 Relation [(a,b)] 定义为 Category 类的实例时出错
- mysql - 如何在 mysql select 中添加这个额外的规定(或条件)?
- reactjs - 未从 React Js 的 .json 文件加载图像
- typescript - 是否可以推断子类上重写方法的参数类型?
- python - 如何在我的 HTML 模板中从此字典中获取值?
- powershell - PowerShell 如何在 Where-Object 中使用 -and
- c++ - 使用 int 和 Points 对向量进行排序
- javascript - 传单将每个点的坐标放入数组中