Я пытаюсь получить доступ к закрытому классу и общедоступному статическому методу 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.
Однако, с или без выше, я получаю то же исключение.
Что я, возможно, делаю неправильно?