javaFx设置多个fxml对应一个controller
在搭建javaFx项目时候,通常情况下都是一个fxml文件对应一个controller,创建完fxml文件后通过fx:controller来设置对应的controller.
![](https://img2022.cnblogs.com/blog/2022968/202202/2022968-20220225133802222-1045349335.png)
可以通过sceneBuilder通过拖拉控件构建页面,controller通过id来获取相应控件
![](https://img2022.cnblogs.com/blog/2022968/202202/2022968-20220225133918547-740587391.png)
![](https://img2022.cnblogs.com/blog/2022968/202202/2022968-20220225134019510-576070155.png)
controller通过实现Initializable接口重写initialize方法来对fxml进行初始化。多个fxml要想对应同一个controller,两个FXML内不能有相同id的控件,fx:controller指向同一个controller。同时通过debug可以发现,controller在执行初始化方法时,可以获取到对应fxml文件的url
![](https://img2022.cnblogs.com/blog/2022968/202202/2022968-20220225134114305-1461805969.png)
可以通过url来进行判断,执行对应fxml的初始化方法,从而实现多个fxml对应一个controller
![](https://img2022.cnblogs.com/blog/2022968/202202/2022968-20220225134126878-1528666202.png)
本文来自博客园,作者:zwbsoft,转载请注明原文链接:https://www.cnblogs.com/zwbsoft/p/15935719.html
电话微信:13514280351