JavaFX ScaleTransition类
此转换在指定的持续时间内按指定的因子在 X、Y 和 Z 三个方向中的任何一个或所有方向上对节点的缩放进行动画处理。
在 JavaFX 中,ScaleTransition由类javafx.animation.ScaleTransition表示。我们需要实例化这个类以生成适当的比例转换。
ScaleTransition类的例子
这是一个缩放动画的例子
package com.yiidian;
import javafx.animation.ScaleTransition;
import javafx.application.Application;
import javafx.scene.CacheHint;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.util.Duration;
public class ScaleTransitionTest extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Group root = new Group();
primaryStage.setTitle("一点教程网:Scale Transition example");
primaryStage.setScene(new Scene(root, 300, 250));
Rectangle rect = new Rectangle (50, 50, 100, 100);
rect.setArcHeight(50);
rect.setArcWidth(50);
rect.setFill(Color.VIOLET);
Group group1 = new Group();
group1.getChildren().add(rect);
ScaleTransition scaleTransition = new ScaleTransition(Duration.millis(1000), group1);
// 中心放大至两倍
scaleTransition.setToX(2);
scaleTransition.setToY(2);
group1.setCacheHint(CacheHint.SPEED);
scaleTransition.setOnFinished(event -> {
// 缩放后设置回QUALITY模式 显示清晰
group1.setCacheHint(CacheHint.QUALITY);
});
scaleTransition.play();
root.getChildren().add(group1);
primaryStage.show();
}
}
输出结果为:
热门文章
优秀文章