“场景改变监听器”我有一个应用程序,我用一个插件管理器加载插件:我加载FXML,并显示该窗口后是否有任何的JavaFX
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
Platform.setImplicitExit(false);
try {
AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource("/StartWindow.fxml"));
Scene scene = new Scene(root, 420, 215);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
}
try {
final PluginManager pluginManager = new DefaultPluginManager();
pluginManager.loadPlugins();
pluginManager.startPlugins();
List<Module> modules = pluginManager.getExtensions(Module.class);
for (Module module : modules) {
module.initModule(primaryStage);
}
} catch(Exception ex) {
}
}
public static void main(String[] args) {
launch(args);
}
}
,我加载插件( Module.class)。每个模块都有一个initModule()方法,我调用它来初始化该插件。我将primaryStage传递给它,以便我可以在StartWindow上进行更改,但是从StartWindow的控制器中打开多个窗口,其他fxmls与其他控制器打开。
我的问题是,有没有办法写某种“SceneChangedListener”的,所以我的模块插件将被通知,如果一个新窗口打开,这样我可以从我的插件修改呢?