下午好。我读到 Controller 的构造函数在 initialize(...) 方法之前被调用。但我不知道如何将参数传递给构造函数。我知道的唯一方法是:
FXMLLoader loader = new FXMLLoader(...);
TestController testController = new TestController(some paremetrs);
loader.setController(controller);
loader.load();
但由于某些原因我不喜欢它,也许有一种方法可以更正确、更漂亮地做到这一点?
不幸的是,没有办法通过构造函数传递它。
一种可能的解决方案是在控制器加载和初始化后通过 setter 传递参数:
确实,这在很大程度上取决于您的控制器逻辑,并且在新参数后可能不方便联网。