java多种幻灯片切换特效(经典)
2013-03-30 13:05
627 查看
功能实现:
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实现多种幻灯片切换特效(经典,附源码)
- jquery多种特效切换的幻灯片
- 一款jQuery打造的具有多功能切换的幻灯片特效
- jQuery响应式手机端移动端幻灯片图片切换特效插件slick
- 经典代码收藏之——百叶窗特效的Java实现
- jquery 100%全屏自适应宽可点击左右和焦点的自动切换幻灯片特效
- 搜弧IT频道的幻灯片切换的特效源代码
- 图片幻灯片切换特效
- Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
- jQuery TAB选项卡切换幻灯片特效
- Java实现递归经典案例——三角数字的多种实现方式
- FLIASH幻灯片切换特效
- SuperSlide -- “焦点图/幻灯片”“Tab标签切换”“图片滚动”“无缝滚动”特效集成
- java selenium针对多种情况的多窗口切换
- Java实现递归经典案例――三角数字的多种实现方式
- Flash和JS实现的图片幻灯片切换特效
- 经典的jQuery图片广告轮番切换特效
- Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
- jQuery插件slick实现响应式移动端幻灯片图片切换特效
- Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)