fxml включает другие fxml файлы и пользовательское свойство - PullRequest
0 голосов
/ 23 ноября 2018

Hy,

У меня следующий вопрос.

Можно ли создать основной файл fxml и поместить / включить другой файл fxml, который должен иметь определенное пользователем свойство.

Например, у меня есть: main.fxml и fan_object.fxmlЗатем включите 3 fan_object.fxml на main.fxml.И теперь я хочу определить для каждого fan_object.fxml экземпляра другой адрес или текст всплывающей подсказки и т. Д.

возможно ли это?

1 Ответ

0 голосов
/ 23 ноября 2018

Проверьте в документации: fx: include

Вы можете сделать следующее:

Если это ваш main.fxml

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<VBox xmlns:fx="http://javafx.com/fxml">
    <children>
        <fx:include fx:id="fan1" source="fan_object.fxml"/>
        <fx:include fx:id="fan2" source="fan_object.fxml"/>
        <fx:include fx:id="fan3" source="fan_object.fxml"/>
    </children>
</VBox>

В вашем MainController.java классе:

@FXML
private FanController fan1Controller;
@FXML
private FanController fan2Controller;
@FXML
private FanController fan3Controller;

Теперь в вашем FanController.java классе:

public void setToolTip (String tooltipText){
        //You put the tooltip of the object you have in this controller
        //for instance
        myButton.setTooltip(new Tooltip(tooltipText));
}

Теперь все, что вам нужно сделать, это позвонить по телефону:

fan1Controller.setToolTip("Tip : !");

Надеюсь, что это ваш вопрос.

...