Смена сцены в Java-редакторе, разные пакеты - PullRequest
0 голосов
/ 15 мая 2018

Я имею дело с компоновщиком сцен JavaFX.Моя проблема в том, что я не могу узнать, как изменить сцену, когда fxml файл сцены находится в другом пакете.Я думаю, что мне нужно вернуться в путь к каталогу, но я понятия не имею, как это сделать в Java (что-то вроде ../ в строке местоположения здесь не работает).

Итак, как я могу вернутьсяв пути к каталогу или каким-либо другим способом я могу изменить свои сцены, не помещая их все в один пакет?

PS Мне нужно сменить сцену и позже вернуться к предыдущей.

Мойспособ изменения сцены:

 public void sceneLoader(ActionEvent event, String path) throws IOException {
        Parent startPageParent1 = FXMLLoader.load(getClass().getResource(path));
        Scene startPageScene1 = new Scene(startPageParent1);
        Stage appStage1 = (Stage) ((Node) event.getSource()).getScene().getWindow();
        appStage1.setScene(startPageScene1);
        appStage1.show();
    }

И как я пытаюсь это сделать, работает только тогда, когда я переношу второй файл xfml в тот же пакет и удаляю имя пакета из строки местоположения (когда это похоже на "FXMLAddGroup.fxml "но не как" otherWindows / FXMLAddGroup.fxml ") Хотя у меня много файлов fxml, и я хочу разделить их на отдельные пакеты:

    addGroup.setOnAction(new EventHandler<ActionEvent>(){
            @Override
            public void handle(ActionEvent event){ 
                try{sceneLoader(event, "otherWindows/FXMLAddGroup.fxml");
                    }
                catch(IOException ex){
                    System.out.println("Error: can not open the addGroup window");
                    }
                }
            }); 

фотография моих пакетов

...