「場景改變監聽器」我有一個應用程序,我用一個插件管理器加載插件:我加載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」的,所以我的模塊插件將被通知,如果一個新窗口打開,這樣我可以從我的插件修改呢?