我正在使用javaFX。 我有一个没有控制器的FXML布局,包括两个布局,如此
<VBox xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<StackPane xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<fx:include source="/views/partials/message.fxml" />
<fx:include source="/views/common/Customer.fxml" />
</StackPane>
</children>
</VBox>
每个嵌套(FXML)都有自己的控制器。父VBOX由第三类(不是专用控制器)加载和呈现。
我希望能够从外部控制器访问message.fxml的控制器。所以我做了以下几点。
FXMLLoader messageLoader = new FXMLLoader();
messageLoader.setLocation(getClass().getResource("/views/partials/message.fxml"));
Pane pane = messageLoader.load();
MessageController messageController = messageLoader.getController();
但现在我的问题是控制器没有执行我在&#39; message.fxml&#39;上执行的更改(例如设置文本并使其可见或不可见)。即使我可以通过使用System.out.printLn看到正在执行messageController.anyMethod(),但是当我运行应用程序时,它似乎没有在我的布局上显示任何结果。
这有解决方案吗?