你好,
我有以下问题。
是否可以创建一个主 fxml 文件并放置/包含另一个应该具有用户定义属性的 fxml 文件。
例如,我有:main.fxml
和一个fan_object.fxml
然后将 3 个 fan_object.fxml
包含到 main.fxml
。现在我想为每个 fan_object.fxml
实例定义一个其他地址或工具提示文本等等?
这可能吗?
最佳答案
检查文档: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 : !");
希望这能解决您的问题。
关于javafx - fxml 包括其他 fxml 文件和用户定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53444046/