2017-01-13 4 views
0

私はHello Worldを印刷しようとしていました! AnimationTimerの中で動作するかどうかを確認するだけです。エラーや警告はありませんが、動作しません。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

AnimationTimerhandle()方法は、そのスレッドの通常のパルスメカニズムによって、FXのアプリケーションスレッドで呼び出されます。これを実現するには、FXアプリケーションスレッドが実行されている必要があります。そのため、FXアプリケーションツールキットを起動する必要があります(通常は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); 
    } 
} 
関連する問題