300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java幻灯片效果_java中怎么实现幻灯片切换特效?详细实例展示

java幻灯片效果_java中怎么实现幻灯片切换特效?详细实例展示

时间:2022-05-09 01:11:54

相关推荐

java幻灯片效果_java中怎么实现幻灯片切换特效?详细实例展示

在java的使用过程中,我们会发现它的功能真的很强大,完成内容也极其丰富。今天就给大家介绍一下如何在java中实现幻灯片切换特效,以及通过实际的代码来为大家展示。

在最开始,需要说明的是,这个代码是实现淡入淡出、缓慢覆盖、旋转覆盖等10多种幻灯片的变换效果的。

它的功能实现主要包括以下方面:一、图片加载类ImageLoader实现:

⑴、用阻塞队列存储图片:BlockingQueue images=new ArrayBlockingQueue<>(2);

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

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

具体代码如下:publicvoidrun()

{

intid=0;

try

{

while(true)

{

Stringpath=resources[id];

InputStreamis=getClass()

.getResourceAsStream(path);

if(is!=null)

{

Imageimage=newImage(is,width,height,true,true);

if(!image.isError())

{

images.put(image);

}

}

id++;

if(id>=resources.length)

{

id=0;

}

}

}

catch(Exceptione)

{}

finally

{

if(!cancelled)

{

try

{

images.put(eof);

}

catch(InterruptedExceptione)

{}

}

}

}

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

{

Arcarc;

publicLengthTransition(Durationd,Arcarc)

{

this.arc=arc;

setCycleDuration(d);

}

@Override

protectedvoidinterpolate(doubled)

{

arc.setLength(d*360);

}

}

然后设置图片层叠效果:group.setBlendMode(BlendMode.SRC_OVER);

next.setBlendMode(BlendMode.SRC_ATOP);

以及之前那张图片的淡出特效:FadeTransitionft=newFadeTransition(Duration.seconds(0.2),mask2);

最后同时执行这两个特效:ParallelTransitionpt=newParallelTransition(lt,ft);

效果图如下所示:

以上就是有关于在java中实现幻灯片切换特效的具体方法展示,以及通过实际的代码为大家详细地表现了出来。想要了解更多java经典例子和常见问题,敬请关注奇Q工具网。

推荐阅读:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。