切换场景时如何保持fxml文件中的更改

i1icjdpr  于 2021-07-05  发布在  Java
关注(0)|答案(0)|浏览(237)

在我们这个学期的项目中,我们正在研究zuul的世界,问题是gui部分(javafx)的问题,问题是当我们改变“房间”的时候,比如说,当你离开房间回到上一个房间时,拿起一个物品,物品就回来了。所以问题是我们每次都重新初始化fxml文件。我们换房的方式:
小编:

public class StartGame extends Main {
    @FXML private Button start;

    @FXML
    public void onStart(MouseEvent event) {

        //works this way
        Parent loader = XMLLoader.load(getClass().getResource("station.fxml"));
        // does not work O_o
        Parent loader = getScene("station");

        Stage stage = (Stage) start.getScene().getWindow();

        stage.setScene(new Scene(loader, 731, 439))
    }
}
public class Main extends Application {
    HashMap<String, Parent> scenes = new HashMap<>();

    public void start(Stage stage) {
        Parent station = FXMLLoader.load(getClass().getResource("station.fxml"));    
        scenes.put("station", station);

        Stage stage = FXMLLoader.load(getClass().getResource("startGame.fxml"));
        stage.show();
    }

    public Parent getScene(String roomName) {
        return this.scenes.get(roomName);
    }
}

但是当我尝试使用 getScene() 方法我得到各种各样的错误,这是一个聪明的方法,试图保存更改时,fxml文件之间的切换,还是有更好的方法?。这实际上是有效的

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题