Добавить файл FXML во всплывающее окно ControlsFX

Итак, я новичок в JavaFX, и из всех руководств, которые я смотрел, и приложений, которые я закодировал, все представление создается в файле FXML.

Я наткнулся на ControlsFX, и я пытаюсь реализовать в нем функцию всплывающих окон. Мой вопрос здесь; Как настроить все компоненты внутри компонента для загрузки из внешнего файла FXML?

Это то, что я пробовал сам, но не могу заставить его работать:

    PopOver popOver = new PopOver();
    popOver.setArrowLocation(PopOver.ArrowLocation.RIGHT_CENTER);
    popOver.setContentNode(new Label("Test"));
    popOver.setAutoFix(true);
    popOver.setAutoHide(true);
    popOver.setHideOnEscape(true);
    popOver.setDetachable(false);

    Node content = null;

    FXMLLoader fxmlLoader = new FXMLLoader();
    content = (Parent) fxmlLoader.load(getClass().getResourceAsStream("new.fxml"));
    popOver.setContentNode(content);

    popOver.show(new_button);

person Salman Fazal    schedule 13.11.2017    source источник


Ответы (1)


Хорошо, я нашел решение на всякий случай, если оно может помочь кому-то в будущем.

BorderPane p = FXMLLoader.load(getClass().getResource("new.fxml"));
popOver.setContentNode(p);
popOver.show(new_button);
person Salman Fazal    schedule 13.11.2017
comment
Пожалуйста, объясните, почему это сработало, когда ваш предыдущий код не сработал (вероятно, поможет также объяснить в вопросе, что означает не работает). Это не будет полезно другим пользователям, если не будет ясно, в чем реальная проблема. - person James_D; 13.11.2017