java实现幻灯片页面切换动画,java实现多种幻灯片切换特效(经典,附源码)
功能说明: 代码实现了多种幻灯片变换特效. 如:淡入淡出、缓慢覆盖、旋转覆盖等10多种变换效果。
在线运行:点此进入在线运行
功能实现:
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);
效果图:
源码下载: 进入下载页面
转载于:https://www.cnblogs.com/javafx/archive/2013/03/30/2990259.html
java实现幻灯片页面切换动画,java实现多种幻灯片切换特效(经典,附源码)相关推荐
- JAVA计算机毕业设计晨光文具店进销存系统设计与开发计算机(附源码、数据库)
JAVA计算机毕业设计晨光文具店进销存系统设计与开发计算机(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行) ...
- JAVA计算机毕业设计喜枫日料店自助点餐系统(附源码、数据库)
JAVA计算机毕业设计喜枫日料店自助点餐系统(附源码.数据库) 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...
- java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码、数据库)
java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也 ...
- JAVA计算机毕业设计蛋糕店会员系统的设计与实现计算机(附源码、数据库)
JAVA计算机毕业设计蛋糕店会员系统的设计与实现计算机(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...
- Java毕设项目蛋糕店会员系统的设计与实现计算机(附源码+系统+数据库+LW)
Java毕设项目蛋糕店会员系统的设计与实现计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行 ...
- java计算机毕业设计ssm冷链物流管理系统的设计与开发90b3l(附源码、数据库)
java计算机毕业设计ssm冷链物流管理系统的设计与开发90b3l(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstor ...
- java转俯视图,如何使用纯CSS实现一个足球场的俯视图(附源码)
本篇文章给大家带来的内容是关于如何使用纯CSS实现一个足球场的俯视图(附源码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 效果预览 源代码下载 https://github.c ...
- Flask+VUE 实现页面增删改查显示开发+测试(图文教程附源码)
目录 一.新建项目并初始化 二.安装依赖 axios.elementUI 三.Vue代码 四.进行接口联调 五.后端接口优化 六.web页面功能测试 七.总结 八.展望 九.附录(截止发文时的代码) ...
- Java Web入门之JSP的基本语法解析及实战(超详细 附源码)
创作不易觉得有帮助请点赞关注收藏~~~ JSP页面是指扩展名为.JSP的文件 在一个JSP页面中 可以包括指令标识 HTML代码 JavaScript代码 嵌入的JAVA代码 注释和JSP动作标识等 ...
最新文章
- CSS 选择器参考手册
- MyEclipse:Available memory is low解决办法
- decode函数的使用
- Redis持久化的简单介绍
- redis setnx 分布式锁_Redis 分布式锁PHP
- 简单易懂设计模式——简单工厂模式
- Cannot add foreign key constraint 错误
- php记住用户名功能,php使用cookie实现记住用户名和密码实现代码
- procedures
- r语言如何计算t分布临界值_如何利用R语言进行meta分析—详细教程(2)
- Vlmcsd: 自建 KMS 激活服务器
- virtualxposed使用教程_无需Root也能使用Xposed框架 —— VirtualXposed v0.14.5
- c语言 取结构体地址,结构体赋值,对用不用取地址符有些困惑?
- 200行代码实现N子棋(以五子棋为例)
- 分享一款开源堡垒机-jumpserver
- C#/.NET 通过代码打开浏览器
- #Reading Paper#Improving Graph Collaborative Filtering with Neighborhood-enriched Contrastive Learni
- 德雷福斯(Dreyfus)技能获取模型
- u8系统服务器已停止怎么办,紧急通知!用友U8报错:enterpriseportal 已停止工作的解决办法!...
- 南邮linux编程实验报告,小弟在南邮选了一门令我终生后悔的选修课:linux基础教程,考试不会了!-!...