java的幻灯片切换特效有哪些

来源:爱站网时间:2019-04-22编辑:网友分享
我们在学习编程的时候不止的学到课本上的知识,我们更多的是要通过技术知识去提高解决问题的能力,那么你知道java的幻灯片切换特效有哪些吗?

      我们在学习编程的时候不止的学到课本上的知识,我们更多的是要通过技术知识去提高解决问题的能力,那么你知道java的幻灯片切换特效有哪些吗?

      功能实现:

      1、图片加载类ImageLoader实现:

      1)用阻塞队列存储要图片:BlockingQueue images = new ArrayBlockingQueue(2);

      2)用图片eof表示图片队列结束:Image eof = new WritableImage(1, 1);

      3)循环读取指定图片,由于是阻塞队列,所以当队列满的时候线程会自动阻塞.

 


public void run() {
        int id = 0;
        try {
            while (true) {
                String path = resources[id];
                InputStream is = getClass().getResourceAsStream(path);
                if (is != null) {
                    Image image = new Image(is, width, height, true, true);
                    if (!image.isError()) {
                        images.put(image);
                    }
                }
                id++;
                if (id >= resources.length) {
                    id = 0;
                }
            }
        } catch (Exception e) {
        } finally {
            if (!cancelled) {
                try {
                    images.put(eof);
                } catch (InterruptedException e) {
                }
            }
        }
    }

 

 

 

      2、特效实现 以弧形切换图片为例: 首先定义LengthTransition变化特效:设置变化时间,以及弧度数跟时间的变化关系。

 

class LengthTransition extends Transition {
    Arc arc;
    public LengthTransition(Duration d, Arc arc) {
        this.arc = arc;
        setCycleDuration(d);
    }
    @Override
    protected void interpolate(double d) {
        arc.setLength(d * 360);
    }
}

 

 

 

       然后设置图片层叠效果:

 


group.setBlendMode(BlendMode.SRC_OVER);
next.setBlendMode(BlendMode.SRC_ATOP);
 以及之前那张图片的淡出特效:

 

FadeTransition ft = new FadeTransition(Duration.seconds(0.2), mask2);
 最后同时执行这两个特效:

ParallelTransition pt = new ParallelTransition(lt, ft);

 

 

       效果图:

      以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对爱站技术频道的支持!

上一篇:java中应该如何获取时间

下一篇:下载文件时出现文件名乱码怎么办

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载