java幻灯片效果_java中怎么实现幻灯片切换特效?详细实例展示
在java的使用过程中,我们会发现它的功能真的很强大,完成内容也极其丰富。今天就给大家介绍一下如何在java中实现幻灯片切换特效,以及通过实际的代码来为大家展示。
在最开始,需要说明的是,这个代码是实现淡入淡出、缓慢覆盖、旋转覆盖等10多种幻灯片的变换效果的。
它的功能实现主要包括以下方面:一、图片加载类ImageLoader实现:
⑴、用阻塞队列存储图片:BlockingQueue images=new ArrayBlockingQueue<>(2);
⑵、用图片eof表示图片队列结束:Image eof=new WritableImage(1, 1);
⑶、循环读取指定图片,由于是阻塞队列,所以当队列满的时候线程会自动阻塞。
具体代码如下: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)
{}
}
}
}
二、特效实现,以弧形切换图片为例:首先定义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中实现幻灯片切换特效的具体方法展示,以及通过实际的代码为大家详细地表现了出来。想要了解更多java经典例子和常见问题,敬请关注奇Q工具网。
推荐阅读:
java幻灯片效果_java中怎么实现幻灯片切换特效?详细实例展示相关推荐
- java获取文件大小_Java中获取文件大小的详解及实例代码
Java 获取文件大小 今天写代码时需要实现获取文件大小的功能,目前有两种实现方法,一种是使用File的length()方法:另外一种是使用FileInputStream的available()方法, ...
- java utils类_Java中StringUtils工具类的一些用法实例
StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 ...
- java arrays.aslist()_Java中Arrays.asList()方法详解及实例
Arrays.asList() 是将数组作为列表. 问题来源于: public class Test { public static void main(String[] args) { int[] ...
- java幻灯片效果_Java实现多种幻灯片切换特效(附源码)
Java实现多种幻灯片切换特效(附源码)以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 功能说明 代码实现了多种幻灯片变 ...
- html图片自动切换的幻灯片效果的,jQuery实现可自动切换的幻灯片效果插件代码...
jQuery实现可自动切换的幻灯片效果插件代码 1. 用户快速划过按钮时不触发鼠标事件; 2. 鼠标划入当前图片按钮时不闪烁; 3. 简化并优化代码. 使用方法就不详述了, 请参见源码及相关注释 $. ...
- java mod %区别_Java中 % 与Math.floorMod() 区别详解
%为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...
- JAVA中希尔排序去的讲解_java 中基本算法之希尔排序的实例详解
java 中基本算法之希尔排序的实例详解 希尔排序(Shell Sort)是插入排序的一种.也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本.希尔排序是非稳定排序算法.该方法因DL.Shel ...
- java show过时_Java中show() 方法被那个方法代替了? java编程 显示类中信
你说的show是swing里的吧,在老版本中Component这个超类确实有show这个方法,而且这个方法也相当有用,使一个窗口可见,并放到最前面.在jdk5.0中阻止了这个方法,普遍用setVisi ...
- java判断类型_Java中类型判断的几种方式 - 码农小胖哥 - 博客园
1. 前言 在Java这种强类型语言中类型转换.类型判断是经常遇到的.今天就细数一下Java中类型判断的方法方式. 2. instanceof instanceof是Java的一个运算符,用来判断一个 ...
最新文章
- Timers cannot be stopped from another thread
- linux如何将json文件导入到mongo数据库
- __format__
- Linux iptables用法与NAT
- 小氓男-灰色按钮激活V1.0
- jsp人事管理系统_Jsp+Ssm+Mysql实现的医院人事管理系统源码附带视频运行教程
- RabbitMQ之五种消息模型
- php5.6 手册,php5.6手册下载
- 采用java编写一个软件,100以内的口算题【软件构造大作业】
- 练习:用swiper实现图片滑动
- html word页面展示,word文档怎样调页面
- _ZN10tensorflow8internal21CheckOpMessageBuilder9NewStringEv and _ZTIN10tensorflow8OpKernelE
- 华为云ModelArts文本分类–外卖评论(附详细图解)
- 微信微博聊天记录可作为证据 如何防止聊天记录被恶意利用?可以使用BTchat链语阅后即焚功能
- Oracle EBS 定义值集的段值与快码的公用查看
- Echarts3实例 加载地图
- 今年9月开学!香港科技大学(广州)人工智能专业已开始招生!
- java-php-python-医院挂号系统计算机毕业设计
- 量化新手初识H-M模型
- Java 中Map map = new HashMap()为什么不写成HashMap map = new HashMap()或者Map map = new Map()?