我拥有的是一个标准的 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代码全部移动到组件自己的类来从组件的事件处理程序和辅助方法中清除代码?
我尝试了以下方法,但没有办法让它们正常工作: