2017-01-17 7 views
0

javafxアプリケーションでキャンバス内のソートアルゴリズムをアニメーション化したいと思います。まず、私はBorder Panel内のすべてを持っています。左のセクションでは、スクロールペインにVboxがあり、メニューボタンを押してアニメーション化する特定のアルゴリズムを選択します。中央のセクションでは、私はビジュアル化をアニメーション化したいキャンバスを持つVboxを持っています。私の質問は、キャンバス内のビジュアライゼーションをメニューボタンクリックでアニメートするようにシーンを設定する方法ですか? Canvasでアニメーション化したいBubbleSortクラスがあるとします。私はメインかコントローラを通してこれを達成するでしょうか?私の現在の主な以下の通りです:JavaFXのアプリケーションでキャンバスでのJavaFXの可視化

public class Main extends Application { 

    @Override 
    public void start(Stage primaryStage) throws Exception{ 
     Parent root = FXMLLoader.load(getClass().getResource("views/HomeView.fxml")); 
     primaryStage.setTitle("Hello World"); 
     primaryStage.setScene(new Scene(root, 300, 275)); 
     root.getStylesheets().add("app/styling/css/styles.css"); 
     primaryStage.show(); 
    } 


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

答えて

0

、メインメソッドの目的(実際start法)FXMLと他の主要な部分を初期化するだけです。 UIロジックの大部分は、Controllerクラスに含まれている必要があります。

まず、コントローラにアクションハンドラを定義する必要があります。オンラインで入手できるチュートリアルはたくさんありますが、これはScenebuilderのかなり簡単な作業です。 Googleはあなたの親友です。

アニメーションの場合、JavaFXでは、メインアプリケーションが実行されるJavaFXアプリケーションスレッド以外のスレッドによって表示内容が変更されないため、javafx.animationパッケージのクラスを使用する必要があります。 Creating Transitions and Timeline Animation in JavaFXを参照してください。

+0

ポインタのおかげで私は見ていきます。 –