【第22期】观点:IT 行业加班,到底有没有价值?

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.microedition.lcdui(1)

按语:此处的翻译只为自己存档。借CSDN当网络办公环境。感谢谷歌翻译、金山词霸 。欢迎口水板砖。感谢指正 翻译中......java.lang.Object javax.microe...

javax.swing.Timer 的用法例程

写某些程序(比如俄罗斯方块)时需要一个定时触发的事件去触发一段程序的执行,此时就要用到Timer。 javax.swing.Timer的官方文档是这样解释的 public class Time...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

javax.swing.Timer的使用

一、Timer的使用 Timer(int delay, ActionListener listener):创建一个每delay毫秒将通知其侦听器的Timer. #delay:延迟的毫秒数,0表示启...

Google 手機程式設計

Google 手機程式設計 序 2007 年 10 月,Google Phone 即將出現的傳聞吵得沸沸煬煬,2007年11月12日,Google 終於公布答岸,原來、Google 並非要做手機,...
  • myspor
  • myspor
  • 2011-03-30 19:43
  • 3955

Applet 大文件上传

原文链接 在项目中可能有时候上传的文件比较大。如果用http方式来进行文件上传的话,问题比较多。 所用可以采用ftp的方式,但是一般都是做的web项目,要在浏览器中嵌入,因为对于jav...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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