javafx - fxml 包括其他 fxml 文件和用户定义的属性

标签 javafx scenebuilder

你好,

我有以下问题。

是否可以创建一个主 fxml 文件并放置/包含另一个应该具有用户定义属性的 fxml 文件。

例如,我有:main.fxml 和一个fan_object.fxml
然后将 3 个 fan_object.fxml 包含到 main.fxml。现在我想为每个 fan_object.fxml 实例定义一个其他地址或工具提示文本等等?

这可能吗?

最佳答案

检查文档:fx:include

你可以做的是:

如果这是你的ma​​in.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 : !");

希望这能解决您的问题。

关于javafx - fxml 包括其他 fxml 文件和用户定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53444046/

相关文章:

javafx - 如何在JavaFX TitledPane中设置/删除插图

java - 如何使用 FXMLLoader.load() - JavaFX 2

JAVA javaFX menuBar,多个项目,一个方法(场景生成器)

java - 为什么ListView显示对象地址而不是内容?

java - intellij 场景生成器错误未打开 fxml 文件已解决

java - 将 javaFx 加载到 Apache felix 中

java - 如何将数据从 Java 传递到 FXML?

Javafx 使用线程将子项动态添加到 TreeView ?

javafx - FXML 完整引用?

JavaFx 和 StreamHandler