fxml включает другие файлы fxml и пользовательское свойство

Hy,

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

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

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

Это возможно?

Всего 1 ответ


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

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

Если это ваш 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 : !");

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


Есть идеи?

10000