Я имею дело с компоновщиком сцен 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");
}
}
});
фотография моих пакетов