0
我超越困惑,我不知道在哪裏,即使這個項目開始,這是由於明天。我們去了字面上的JavaFX的一張幻燈片,他們分配我們的一個項目 - 使整個遊戲,突圍或是太空入侵者。我希望我誇大其詞。試圖加載FXML文件定做的JavaFX遊戲類(由教授製作)
這是我目前的問題:我試圖在我的Driver類中使用FXML文件,但他提供給我們的Game類沒有擴展Pane,這是我知道獲取FXML資源的唯一方法。
下面是一些代碼:
public class Driver extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
Game game = new Breakout(primaryStage);
try {
game = FXMLLoader.load(getClass().getResource("BreakoutFXML.fxml"));
} catch (IOException e) {
System.out.println(e);
System.exit(1);
} // try
primaryStage.setTitle(game.getTitle());
primaryStage.setScene(game.getScene());
primaryStage.show();
game.run();
} // start
我得到這個運行時錯誤:
Caused by: java.lang.ClassCastException: javafx.scene.layout.Pane cannot be cast to com.michaelcotterell.game.Game
at cs1302.fxgame.Driver.start(Driver.java:19)
手段(我認爲),我不能使用獲取FXML文件的這一方法,那麼我該怎麼做?
這裏的link to his documentation for the Game class,應該是有幫助的。
我意識到這個問題已經被問了很多,但我一直沒能使用比標準窗格/場景類以外的任何獲得FXML文件找到任何東西。如果這是一個簡單的修復 - 真棒!對不起,這樣的菜鳥。
game.getScene()setRoot(myPane)。似乎做了詭計,我會永遠不知道使用這個...我真的很感激它。 – Mazzone