ホームページ  >  記事  >  Java  >  Java 13 の新しい JavaFX アニメーション API を使用してアニメーション効果を実現する

Java 13 の新しい JavaFX アニメーション API を使用してアニメーション効果を実現する

王林
王林オリジナル
2023-07-30 12:38:181606ブラウズ

Java 13 の新しい JavaFX アニメーション API を使用してアニメーション効果を実現する

JavaFX は、リッチ クライアント アプリケーションを構築するためのクロスプラットフォーム フレームワークであり、グラフィック ライブラリとユーザー インターフェイス コンポーネントの豊富なセットを提供します。 JavaFX のアニメーション API を使用すると、アプリケーションをより鮮やかで魅力的なものにするさまざまなアニメーション効果を簡単に作成できます。この記事では、Java 13 の新しい JavaFX アニメーション API を紹介し、コード例を通じてそれらを使用してアニメーション効果を実現する方法を示します。

まず、JavaFX ライブラリの依存関係をプロジェクトに追加する必要があります。 Java 13 以降では、JavaFX が JDK から分離され、独立したライブラリになります。 JavaFX ライブラリは Maven や Gradle などのビルド ツールを通じて導入できますが、ここでは詳しく紹介しません。

この記事では、JavaFX アニメーション API の使用方法を示すために、ウィンドウ内で移動する青い円の単純なアニメーションを例として取り上げます。まず、JavaFX アプリケーションのメイン クラスを作成する必要があります。コードは次のとおりです。

import javafx.animation.TranslateTransition;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
import javafx.util.Duration;

public class AnimationApp extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建一个圆形对象
        Circle circle = new Circle(50, Color.BLUE);

        // 创建一个平移动画
        TranslateTransition translateTransition = new TranslateTransition(Duration.seconds(2), circle);

        // 设置平移动画的起始位置和结束位置
        translateTransition.setFromX(0);
        translateTransition.setToX(300);

        // 设置循环播放动画
        translateTransition.setCycleCount(TranslateTransition.INDEFINITE);
        translateTransition.setAutoReverse(true);

        // 创建一个布局容器
        StackPane root = new StackPane();
        root.getChildren().add(circle);

        // 创建一个场景
        Scene scene = new Scene(root, 400, 400);

        // 设置窗口标题和场景
        primaryStage.setTitle("Animation Demo");
        primaryStage.setScene(scene);

        // 显示窗口
        primaryStage.show();

        // 开始动画
        translateTransition.play();
    }

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

上記のコードでは、最初に円形のオブジェクトを作成し、その半径と色を定義します。次に、翻訳アニメーション TranslateTransition を作成し、アニメーションの長さを指定します。開始位置と終了位置を設定することで、ウィンドウ内の円形オブジェクトを移動できます。 setCycleCount メソッドを設定するとアニメーションをループ再生でき、setAutoReverse メソッドを設定すると再生ごとにアニメーションを自動的に逆再生できます。次に、レイアウト コンテナー StackPane を作成し、その子ノードとして円オブジェクトを追加します。最後に、レイアウト コンテナをルート ノードとしてシーンSceneを作成し、ウィンドウのタイトルとシーンを設定します。ウィンドウの show メソッドを呼び出してウィンドウを表示し、アニメーションの play メソッドを呼び出してアニメーションを開始します。

上記のコードは単なる例であり、JavaFX アニメーション API は、スケーリング アニメーション、回転アニメーション、透明度アニメーションなど、他にも多くの機能を提供します。アニメーションのさまざまなプロパティとパラメーターを設定することで、より複雑で洗練されたアニメーション効果を実現できます。

要約すると、この記事では、Java 13 の新しい JavaFX アニメーション API を紹介し、それらを使用してアニメーション効果を実現する方法を、簡単なコード例を通じて示します。 JavaFX のアニメーション API を適切に利用することで、鮮やかで魅力的なアニメーション効果をアプリケーションに追加し、ユーザー エクスペリエンスを向上させることができます。読者がこの内容から恩恵を受け、実際の開発の関連シナリオに適用できることを願っています。

以上がJava 13 の新しい JavaFX アニメーション API を使用してアニメーション効果を実現するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。