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.swing.plaf.FontUIResource对各个组件字体的设置

public static void main(String[] args) { String s; int k; Enumeration keys =...

在项目中导入import javax.servlet 出错解决办法

经常会把别人的项目copy到自己这里进行二次开发或者参考,有的时候会发生上面的错误, 即eclipse项目里我们导入的项目里提示HttpServletRequest 不能引用,会伴随头疼...

关于Session(javax.servlet.HttpSession)持久化----为什么实体类需要实现序列化接口

为什么需要持久化?     客户端访问了某个能开启会话功能的资源,web服务器就会创建一个与该客户端对应的HttpSession对象,每个HttpSession对象都要占用一定的内存空间。如果在某一...

使用javax.sound实现简单的音频播放

/** * @see * @author Al_assad yulinying_1994@outlook.com * @date 2016年11月17日 下午6:27:59 * @version V1...

java图片处理---Javax.imageIO包的用法

Java中进行图像I/O(即读图片和写图片,不涉及到复杂图像处理)有三个方法: 1. Java Image I/O API,支持常见图片,从Java 2 version 1.4.0开始就内置了。...

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

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

javax.mail发送邮件(带附件)

下面是java mail写的一个简单的发送邮件的功能: 发送邮件之前,先下载javax.mail的jar包,jar包地址:点击打开链接 请发件人地址,收件人地址,发件人密码和要发送的附件请注意...

javax.mail实现邮件发送

这段时间,做完了项目任务(给手机APP推送通知消息),然后我就想着,还有推送邮件和短信,这一篇就来讲一下推送邮件,以及一些问题解决: 首先在百度上搜索:javax.mail发送邮件,就会有许多前辈写的...

javax.mail 发送邮件工具类

package com.thinkgem.jeesite.common.email; import java.io.UnsupportedEncodingException; import java...

讲授Javax.servlet.Filter使用总结例子

今天给同学们讲解SpringMVC,很多同学们反应对Servlet过滤器、监听了解甚少,所以现场给大家分享了一个小例子,然大家学习掌握一下; 1、登录页面 login pages...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javax Animation Example
举报原因:
原因补充:

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