JavaFX IllegalAccessException во время загрузки FXML ()

У меня есть диалоговое окно, которое вызывается следующим кодом (DialogController вспомогательный класс для использования модальных диалоговых окон; в основном он связывает ссылку на контроллер с его окном):

void handleServicesEdit(ActionEvent event) throws IOException {

    DCServRecEditor sre = DialogController.loadFXML(
            CensusAssistant.RES_FXML_DIALOG_SERVEDIT,
            CensusAssistant.RES_STRING_SERVEDIT,
            this.getDialog());
    sre.setDialogMode(DB.DBEDIT_MODE_EDIT,
                      tbvService.getItems(),
                      tbvService.getSelectionModel().getSelectedIndex(),
                      m_encCal);
    sre.showAndWait();

    sre.release();
    this.updateGUI();
}

Я подтвердил, что получаю исключение во времяFXMLLoader.load() метод. Я также определил, что ошибка возникает перед любым кодом в моемinitialize() Метод имеет шанс запустить. Некоторые из трассировки стека, которые я получаюload() это здесь:

java.lang.IllegalAccessException: Class sun.reflect.misc.ReflectUtil 
    can not access a member of class org.kls.md.censusassistant.DCServRecEditor 
    with modifiers ""
file:/D:/Documents/NetBeansProjects/CensusAssistant/dist/run1284250063/CensusAssistant.jar!/org/kls/md/censusassistant/fxml/GUIServRecEditor.fxml:13
  at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:738)
  at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:775)
  at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:180)
  at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:563)
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2314)
  at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2131)
  at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2028)
  at org.kls.md.censusassistant.DialogController.loadFXML(DialogController.java:63)
  at org.kls.md.censusassistant.DCMainEditor.handleServicesEdit(DCMainEditor.java:330)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        ...

Caused by: java.lang.IllegalAccessException: Class sun.reflect.misc.ReflectUtil
    can not access a member of class org.kls.md.censusassistant.DCServRecEditor
    with modifiers "" 
  at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95)
  at java.lang.Class.newInstance0(Class.java:368)
  at java.lang.Class.newInstance(Class.java:327)
  at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:46)
  at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:731)
... 66 more

Мои занятияDCServRecEditor это подклассDialogController, Это довольно нормально выглядящий класс контроллера FXML:

class DCServRecEditor extends DialogController {

    private int m_dialogMode = DB.DBEDIT_MODE_ADD;
    private int m_selServ = -1;
    private GregorianCalendar m_cal = null;


    @FXML // ResourceBundle that was given to the FXMLLoader
    private ResourceBundle resources;

    @FXML // URL location of the FXML file that was given to the FXMLLoader
    private URL location;

    @FXML // fx:id="ancMatchSelector"
    private AnchorPane ancMatchSelector; // Value injected by FXMLLoader

    @FXML // fx:id="ancServEditor"
    private AnchorPane ancServEditor; // Value injected by FXMLLoader

    @FXML // fx:id="ancServRecEditor"
    private AnchorPane ancServRecEditor; // Value injected by FXMLLoader

        ...
}

Я проверил дважды и трижды, чтобы убедиться, что не былоименованный элемент управления в FXML, который неТакже есть поле экземпляра в классе контроллера. Все поля экземпляра помечены.@FXML

Имя класса контроллера в FXML совпадает с моим файлом Java и правильно указано. Ошибка возникает раньшеinitialize() называется, так что я нене думаю, что этоЧто-нибудь сinitialize(), хотя я проверил, чтобы убедиться, что он также помечен.@FXML

Скелет для моего класса контроллера был скопирован и вставлен изПостроитель сцен ... яя вернулся и перекусил кучу вещей изПостроитель сцен чтобы быть уверенным, что не былоЭлемент управления, которого я пропустил в своем Java-файле.

Сообщение об ошибке не дает мне никаких подробностей о члене, с которым у него возникли проблемы, кроме того, что у него есть модификаторы "", Я вернулся в свой класс контроллера и сделал все члены с доступом по умолчаниюpublicи я все еще получаю ошибку.

Я неЯ даже не знаю, откуда в моем классе проблема. У кого-нибудь есть идеи о том, что здесь происходит не так?

Ответы на вопрос(2)

Ваш ответ на вопрос