我拥有的是一个标准的 JavaFX 应用程序:Main.java, MainController.java & main.fxml
. 为了添加自定义组件,我创建CustomComponentController.java
了custom_component_controller.fxml
.
问题是在CustomComponentController
方法中我需要引用其他方法和标准组件MenuController
。我添加public static MainController mc;
到MainController
类主体中,以便可以从CustomComponentController
( MainController.mc.neededMethod()
) 中看到它。然后我尝试在MainController.initialize()
方法 ( mc = this;
) 中将所有内容传递给它 - 在调试此断点时,我看到this
充满了组件实例,但mc
之后仍保留为空组件。
问题是如何引用正在运行的实例MainController
以在其他类中使用其组件和方法,并相互交叉引用不同的自定义组件?如何通过将MainController
代码全部移动到组件自己的类来从组件的事件处理程序和辅助方法中清除代码?
我尝试了以下方法,但没有办法让它们正常工作: