【发布时间】:2016-03-03 05:51:30
【问题描述】:
如果活动控制器不是该节点的控制器,是否可以更改 JavaFX 节点的样式(或任何属性)?
例如,假设我希望能够通过单击按钮来更改 AnchorPane 的颜色。按钮和 AnchorPane 有两个不同的控制器。 如何以最简单的方式实现这一点?
我已经研究过/尝试过使用..
- FXML 嵌套控制器http://docs.oracle.com/javafx/2/fxml_get_started/whats_new2.htm
- 在 AnchorPane 的控制器类中创建一个设置样式的函数,并在按下按钮时调用它
在关注有关嵌套控制器的文档时,在成功获取 AnchorPane 的根节点的实例后,我陷入了僵局 - 无法弄清楚如何实际更改 AnchorPane。
当调用 AnchorPane 的控制器类中应达到预期效果的函数时,AnchorPane 引用将始终返回空指针错误。
【问题讨论】:
-
你能发布一些你的代码吗?
-
如果您使用
<fx:include>加载第二个 fxml 文件,则使用嵌套控制器方法。当然,您仍然可以执行您建议的第二件事:在控制器中创建一个更新样式的方法。然后你只需调用该方法。没有看到代码,很难知道你在哪里/为什么卡住了。
标签: javafx controller instance fxml