我正在try 为JavaFX中的ComboBox注册ControlsFX验证器.然后,我得到了与模块系统相关的以下错误.当我try 打开org.Controsfx.Controls模块的javafx.Scene包时,也导致了一个错误.我将添加我在下面得到的所有代码和错误.

这是导致错误的我的代码.

ValidationSupport validationSupport = new ValidationSupport();
validationSupport.registerValidator(prefixCombo, Validator.createEmptyValidator("Combobox selection required!"));

这是我在运行项目时收到的错误.

Exception in thread "JavaFX Application Thread" java.lang.reflect.InaccessibleObjectException: Unable to make protected javafx.collections.ObservableList javafx.scene.Parent.getChildren() accessible: module javafx.graphics does not "opens javafx.scene" to module org.controlsfx.controls
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)

这是我当前的MODULE-info.Java文件

module system {
    requires javafx.controls;
    requires javafx.fxml;
    requires jakarta.persistence;
    requires org.hibernate.orm.core;
    requires MaterialFX;
    requires org.slf4j;
    requires de.jensd.fx.glyphs.fontawesome;
    requires static lombok;
    requires org.controlsfx.controls;
    requires javafx.graphics;


    opens com.example.system to javafx.fxml, org.controlsfx.controls;
    exports com.example.system;
    exports com.example.system.controller;
    opens com.example.system.controller to javafx.fxml, javafx.graphics;
    opens com.example.system.entity to org.hibernate.orm.core;
    opens com.example.system.tm to javafx.base;
}

我try 将opens javafx.scene to org.controlsfx.controls;添加到MODULE-infor.java中. 然后,导致另一个错误Package not found: javafx.scene

提前感谢大家!!

推荐答案

module-info中使用opens指令涉及将模块102(您的模块)的包打开给另一个指定的模块,即org.controlsfx.controls.因此,由于您的应用程序模块不包括所提到的包,因此会出现预期的编译错误.

您正在寻找的是命令行参数,它可以帮助您为您的运行时选项提供从模块javafx.graphicsjavafx.scene包的访问,即

--add-opens javafx.graphics/javafx.scene=org.controlsfx.controls

Note-请记住,这应该只是considered a workaround.

Java相关问答推荐

ActivityCompat.请求收件箱自动拒绝权限

具有默认分支的JUnit代码覆盖率切换声明

如何让JFileChooser(DIRECTORIES_ONLY)从FolderName中的空白开始?

通过合并Akka Streams中的多个慢源保持订购

扩展到弹出窗口宽度的JavaFX文本字段

try 创建一个对象,使用它,然后使用一条语句将其存储为列表

RichFaces 3.x-Spring Boot-迁移web.xml

如何正确创建序列图?

返回响应时,CamelCase命名约定不起作用

%This内置函数示例

舰队运行配置Maven版本

将java.util.Date(01.01.0001)转换为java.time.LocalDate将返回29.12.0000

未调用OnBackPressedCallback-Activitiy立即终止

基于Java中mm/dd/yy格式的最近日期对数组列表进行排序

为什么创建Java动态代理需要接口参数

AspectJ编织外部依赖代码,重新打包jar并强制依赖用户使用它

升级版本后出现非法访问错误

读取ConcurrentHashMap中的可变对象

带有提取器的JavaFXObservableList会根据侦听器的存在而改变行为

Keycloak + Spring Boot 角色认证不起作用