在我们这个学期的项目中,我们正在研究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文件之间的切换,还是有更好的方法?。这实际上是有效的
暂无答案!
目前还没有任何答案,快来回答吧!