favafx中不同的fxml文件的控制器的成员能相互调用吗
时间: 2024-04-24 13:22:43 浏览: 77
不同的FXML文件中的控制器的成员之间不能直接相互调用,因为它们是两个不同的对象。如果需要在不同的FXML文件中的控制器之间进行通信,可以通过以下方法实现:
1. 使用事件(Event)机制,将需要传递的信息封装成事件对象,并在需要接收这些信息的控制器中注册事件监听器。
2. 使用单例模式来创建一个全局的控制器对象,不同的FXML文件中的控制器可以通过该对象来进行通信。
3. 通过FXMLLoader的getController()方法获取到其他FXML文件中的控制器对象,并进行相应的调用。但是这种方法需要保证被调用的控制器已经被加载过了,否则会出现NullPointerException异常。
阅读全文