仍然得到这个错误:无法访问类com.sun.javafx.print.Units(在模块javafx.graphics中



我一直在尝试为80mm热敏打印机创建自定义纸张。我做了研究,想出了这个:

Paper myPaper = PrintHelper.createPaper("Roll80", 80, 310, Units.MM);

然而,在收到这个错误后,我尝试了堆栈溢出和其他一些github页面上的所有可用选项,但都没有用。我尝试将此--add-exports javafx.graphics/com.sun.javafx.print=ALL-UNNAMED添加到我的VM选项中,但仍然收到相同的错误。我正在使用一个模块化项目,下面是我的module-info.java类:

module my.enterp {
requires javafx.base;
requires javafx.fxml;
requires javafx.graphics;
requires javafx.controls;
requires javafx.web;
opens sample;
}

我已经被这个错误困扰了好几天了。

由于代码在my.enterp模块中,您需要将包导出到它,而不是导出到未命名的模块(ALL-UNNAMED(:

--add-exports javafx.graphics/com.sun.javafx.print=my.enterp

确保在编译时和运行时都导出它。