我需要在我的控制器ANS当前舞台搜索我发现了两个解决方案后:JavaFX的:第一阶段在控制器 - 最好的解决办法
- 传递舞台上,以我的控制器在初始化(如that)
- 得到它(https://stackoverflow.com/a/12003426/2039619)
什么是最佳解决方案?
我需要在我的控制器ANS当前舞台搜索我发现了两个解决方案后:JavaFX的:第一阶段在控制器 - 最好的解决办法
什么是最佳解决方案?
从FXML控制器中获取舞台可能会非常棘手,就好像尚未完成加载,您无法通过组件(在FXML中)访问场景,从而无法访问场景(空指针!)。您必须在initialize方法(来自Initializable接口)中添加代码,以便在运行时从控制器中声明的任何组件安全地获取当前阶段。
另一种选择对我来说似乎更好,因为您可以在ASAP阶段做这些事情,这也意味着在呈现当前FXML之前,当您将舞台明确地插入到控制器中时(使用setter,您添加一个参考它),您不需要等待当前FXML中的GUI内容。缺点是您需要添加显式代码以将阶段交付给FXML控制器(以及从控制器到控制器等)。
非常感谢! – JulianG
我觉得这个问题不是比其他的更基于观点。 我问过这个,因为我想从其他地方获得经验。如何做到这一点。我想,这也是这个网站的目的。 我得到了一个非常有帮助的答案! – JulianG