在两个JavaFX控制器之间传递参数

在两个JavaFX控制器之间传递参数,第1张

在两个JavaFX控制器之间传递参数

如果要在FXML文件中指定控制器(因此您不能使用Deepak的答案), 并且
要访问

initialize()
方法中的索引(因此您不能使用José的答案),则可以使用控制器工厂:

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("editClient.fxml"));fxmlLoader.setControllerFactory(new Callback<Class<?>, Object>() {    @Override    public Object call(Class<?> controllerClass) {        if (controllerClass == EditClientController.class) { EditClientController controller = new EditClientController() controller.setIndex(clickIndex); return controller ;        } else { try {     return controllerClass.newInstance(); } catch (Exception exc) {     throw new RuntimeException(exc); // just bail }        }    }});Parent root1 = fxmlLoader.load();


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5586600.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存