Java AnimationTimer内容未显示

时间:2018-03-19 10:52:36

标签: java animation javafx

我试图了解JavaFX动画是如何工作的,所以我尝试根据本教程创建一个地球移动的动画:https://gamedevelopment.tutsplus.com/tutorials/introduction-to-javafx-for-game-development--cms-23835

出于某种原因,我想要显示的场景是在舞台上设置的,但图形或动画不是。我很确定这个是微不足道的,我似乎无法找到原因。这是我的主类代码:

https://www.google.com

这是Window类代码:

public class Main extends Application {

    private static Stage stage;
    private static Window window;
    private static Scene scWindow;


    @Override
    public void start(Stage primaryStage) {
        stage = primaryStage;
        stage.setTitle("Animation");
        showWindow();       
        stage.show();
    }

    public static void showWindow() {
        window = new Window();
        scWindow = new Scene(window, 400, 400);
        stage.setScene(scWindow);
    }

    public static void main(String[] args) {
        launch(args);
    }
}

没有异常抛出或任何东西,我不知道出了什么问题。

编辑: 我知道我没有在构造函数中的setCenter / Left等中放置任何东西,所以实际上如果是原因,我应该如何设置动画,例如在边框窗格的中心?

1 个答案:

答案 0 :(得分:1)

您忘记将root添加到场景中。添加类似

的内容
setCenter(root);

Window的构造函数。

或者只需使用Canvas作为中心:

public Window() {
    Canvas canvas = new Canvas(512, 512);
    gc = canvas.getGraphicsContext2D();
    setCenter(canvas);
    gc.setFill(Color.BLACK);
    Anim a = new Anim();
    a.start();
}