无法在AnimationTimer中运行任何内容

时间:2017-01-13 21:18:36

标签: javafx

我正试图打印Hello World!在AnimationTimer中只是为了看它是否可行。没有任何错误或警告,但它无法正常工作。

import javafx.animation.AnimationTimer;

public class Example {

    public static void main(String[] args) throws Exception {
        AnimationTimer timer = new AnimationTimer(){
            @Override
            public void handle(long now) {
                System.out.println("Hello World!");
            }
        };
        timer.start();
    }

}

1 个答案:

答案 0 :(得分:1)

通过该线程的常用脉冲机制,在FX应用程序线程上调用

AnimationTimer' handle()方法。为了实现这一点,FX Application Thread必须运行,因此您必须启动FX Application Toolkit(通常通过启动JavaFX应用程序)。你的申请没有这样做。

以下按预期方式工作:

import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.stage.Stage;

public class Example extends Application {

    @Override
    public void start(Stage primaryStage) {
        AnimationTimer timer = new AnimationTimer(){
            @Override
            public void handle(long now) {
                System.out.println("Hello World!");
            }
        };
        timer.start();
    }

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