javax Animation Example

翻译 2015年11月19日 11:28:51
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package colorfulcircles;

import static java.lang.Math.random;
import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.BlendMode;
import javafx.scene.effect.BoxBlur;
import javafx.scene.paint.Color;
import javafx.scene.paint.CycleMethod;
import javafx.scene.paint.LinearGradient;
import javafx.scene.paint.Stop;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Rectangle;
import javafx.scene.shape.StrokeType;
import javafx.stage.Stage;
import javafx.util.Duration;

/**
 *
 * @author L
 */
public class ColorfulCircles extends Application {

    @Override
    public void start(Stage primaryStage) {
        Group root = new Group();
        Scene scene = new Scene(root, 800, 600, Color.BLACK);
        primaryStage.setScene(scene);
        Group circles = new Group();
        for (int i = 0; i < 30; i++) {
            Circle circle = new Circle(150, Color.web("white", 0.05));
            circle.setStrokeType(StrokeType.OUTSIDE);
            circle.setStroke(Color.web("white", 0.16));
            circle.setStrokeWidth(4);
            circles.getChildren().add(circle);
        }
        circles.setEffect(new BoxBlur(10, 10, 3));
        //
        Rectangle colors = new Rectangle(scene.getWidth(), scene.getHeight(), new LinearGradient(0f, 1f, 1f, 0f, true, CycleMethod.NO_CYCLE, new Stop[]{
            new Stop(0, Color.web("#f8bd55")),
            new Stop(0.14, Color.web("#c0fe56")),
            new Stop(0.28, Color.web("#5dfbc1")),
            new Stop(0.42, Color.web("#64c2f8")),
            new Stop(0.56, Color.web("#be4af7")),
            new Stop(0.70, Color.web("#ed5fc2")),
            new Stop(0.84, Color.web("#ef504c")),
            new Stop(0.98, Color.web("#f2660f"))
        }));
        colors.widthProperty().bind(scene.widthProperty());
        colors.heightProperty().bind(scene.heightProperty());

        //
        Group blendModeGroup = new Group(new Group(new Rectangle(scene.getWidth(), scene.getHeight(), Color.BLACK), circles), colors);
        colors.setBlendMode(BlendMode.OVERLAY);

        //添加时间线
        Timeline timeline = new Timeline();
        circles.getChildren().stream().forEach((circle) -> {
            timeline.getKeyFrames().addAll(
                    new KeyFrame(Duration.ZERO,
                            new KeyValue(circle.translateXProperty(), random() * 800),
                            new KeyValue(circle.translateYProperty(), random() * 600)),
                    new KeyFrame(new Duration(40000),
                            new KeyValue(circle.translateXProperty(), random() * 800),
                            new KeyValue(circle.translateYProperty(), random() * 600)));
        });
        // play 40s of animation
        timeline.play();
        root.getChildren().add(blendModeGroup);
//        root.getChildren().add(colors);
//        root.getChildren().add(circles);
        primaryStage.show();
    }

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

这里写图片描述

相关文章推荐

javax.jms.jar

报错:javax.servlet.http.HttpServlet

今天把eclipse的路径改了下,在重新新建jsp页面的时候报了以下javax.servlet.http.HttpServlet的错后来经过查度娘解决了,但是根本原因还是我自己有点小粗心忘记了细节,那...

javax.mail.jar

  • 2017-09-13 13:37
  • 638KB
  • 下载

WebService学习笔记系列之三----通过javax.xml.ws.Service的方式调用WebService

在上一篇《》文章中讲解了通过wsimport的方式调用WebService。本文章学习使用javax.xml.ws.Service类来调用WebService。下面贴出调用的代码 import jav...

javax.servlet.http.HttpServlet

  • 2017-08-09 13:33
  • 196KB
  • 下载

javax.servlet-3.0.jar文件

  • 2017-08-10 09:49
  • 82KB
  • 下载

IBMJCE AND SunJCE(javax.crypto.BadPaddingException:Given final block not properly padded)

问题描述: 项目中要用到和SFTP进行连接上传文件,用户名密码IP什么的要配置在WAS服务器里面,出于安全性考虑,需要把这些连接的必要信息用AES-256进行加密,加密自己写了一个桌面工具,把加密过...

javax.el.jar

  • 2015-08-11 15:39
  • 27KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)