尝试将 FXML 文件加载到定制的 JavaFX 游戏 class(由教授制作)

Trying to load FXML file to custom-made JavaFX Game class (made by professor)

我很困惑,我什至不知道从哪里开始这个项目,它将于明天到期。我们从字面上浏览了一张 JavaFX 幻灯片,他们给我们分配了一个项目——制作一个完整的游戏,Breakout 或 Space Invader。我希望我是在夸大其词。

这是我当前的问题:我正在尝试在我的驱动程序中使用 FXML 文件 class 但是他提供给我们的游戏 class 没有扩展 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,应该会有帮助。

我意识到这个问题已经被问了很多,但是除了标准 Pane/Scene classes 之外,我找不到任何东西来获取 FXML 文件。如果这是一个简单的修复 - 太棒了!很抱歉成为这样的菜鸟。

好吧,尝试其中之一:

Pane myPane = FXMLLoader.load(getClass().getResource("BreakoutFXML.fxml"));

// 1
game.getScene().getRoot().add(myPane);
// 2
game.getScene().setRoot(myPane);
// 3
game.getStage().setScene(new Scene(myPane));