你好,有Java demo 关于timeline 的操作demo?

你好,有Java demo 关于timeline 的操作demo?

展开
收起
真的很搞笑 2023-04-18 21:35:03 208 分享 版权
1 条回答
写回答
取消 提交回答
  • 资深技术专家。主攻技术开发,擅长分享、写文、测评。

    Timeline通常用于创建动画效果。在JavaFX中,Timeline类提供了一种创建动画序列的方式,可以在一定的时间间隔内连续更新属性值。以下是一个简单的JavaFX Timeline操作示例,演示如何在窗口中移动一个矩形:

    import javafx.animation.KeyFrame;
    import javafx.animation.Timeline;
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.layout.StackPane;
    import javafx.scene.paint.Color;
    import javafx.scene.shape.Rectangle;
    import javafx.stage.Stage;
    import javafx.util.Duration;
    
    public class TimelineDemo extends Application {
    
        @Override
        public void start(Stage primaryStage) {
            // 创建一个矩形
            Rectangle rectangle = new Rectangle(50, 50, Color.BLUE);
    
            // 创建Timeline对象
            Timeline timeline = new Timeline();
    
            // 定义一个关键帧(KeyFrame),每隔500毫秒执行一次
            Duration duration = Duration.millis(500);
            KeyFrame keyFrame = new KeyFrame(duration, event -> {
                // 在每个关键帧中更新矩形的位置
                double newX = rectangle.getX() + 10;
                if (newX > 300) {
                    // 如果矩形到达了右边界,则重置位置到左边界
                    newX = 0;
                }
                rectangle.setX(newX);
            });
    
            // 将关键帧添加到Timeline中
            timeline.getKeyFrames().add(keyFrame);
    
            // 设置Timeline的循环次数为无限循环
            timeline.setCycleCount(Timeline.INDEFINITE);
    
            // 启动Timeline动画
            timeline.play();
    
            // 创建一个根节点并将矩形添加到其中
            StackPane root = new StackPane(rectangle);
    
            // 创建场景并将根节点添加到场景中
            Scene scene = new Scene(root, 400, 200);
    
            // 设置舞台的标题和场景,然后显示舞台
            primaryStage.setTitle("Timeline Demo");
            primaryStage.setScene(scene);
            primaryStage.show();
        }
    
        public static void main(String[] args) {
            launch(args);
        }
    }
    
    2023-07-30 23:17:32
    赞同 展开评论
问答分类:
问答标签:
问答地址:

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

收录在圈子:
+ 订阅
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
还有其他疑问?
咨询AI助理