javafx 打印控件

介绍

视差是一种视觉效果,您可以组合以不同速度移动的两个分层图像以获得深度感。

想想一下,当您在道路上行驶时,您会看到附近的树木在快速移动,而距离较远的树木将沿同一方向移动但速度较慢,结果是您感觉到树木在移动的速度更快与您和其他人更亲近。

如果您是视频游戏的狂热者,您肯定已经看过这种效果:将两张图像放在另一张图像上,背景移动速度较慢,而前景(可能是玩家的头像移动得更快)。

这是视频游戏世界中经常使用的技巧。 它在很早以前就开始使用,例如“超级马里奥”视频游戏系列。

超级马里奥游戏使用视差效果

此效果已在用户界面区域中采用,您可以在网站区域以及某些应用程序中看到该效果。

网站上的视差–来源:https://dribbble.com/shots/1378010–GIF-Parallax-Building-animation

我的目标是以控件的形式将其引入JavaFX,您可以在其中通过简单的API添加视差效果。

ListView中的视差

我的主要目标是将其带到ListView,即具有一个类似于ListView的API的控件,您可以像在JavaFX ListView中那样设置背景图像和项目列表。

实现ParallaxListView

若要产生视差效果,ListView中的项目(即单元格)需要以比背景图像更快的速率滚动。

这个新控件将使用具有透明背景的JavaFX ListView,该背景位于背景图像的前面。

第一个挑战是JavaFX ListView的滚动是通过跳转完成的,也就是说,当您执行滚动操作时,位置将从原始位置跳转到结束位置,而不会经过中间位置值。 这将破坏效果,因为没有像现实世界中那样的运动,只有一组离散的位置。 在现实世界中,前景中的对象通过翻译动画移动得更快,请记住,这是关于模仿现实世界中的现象(如我之前给出的驾驶示例),以提供深度感。

因此,要实现此目的,我必须实现自己的ListView滚动以及背景滚动,而背景滚动则通过一组位置设置动画。

ParallaxListView示例

从哪里获得

现在您可以在这里获取它: https : //github.com/dukke/parallax-list-view

我决定坚持使用JavaFX 8,因为Java 9仍然相对较新,并且有些人可能尚未迁移。 这样,Java 8和Java 9程序就可以使用它。

我使用的是私有API,即VirtualFlow,但是在JavaFX 9中已变成了公共API,因此可以轻松迁移ParallaxListView代码。

测试文件夹包含有关如何使用控件的示例。 您必须滚动鼠标滚轮才能看到效果。

结论和进一步发展

ParallaxListView可以给您的应用程序一个很好的联系,增加一些天赋,但是不要过度使用此效果。

在接下来的几天,我计划添加以下内容:

  • 添加对滚动条滚动的支持。
  • 添加API以更改背景图像相对于前景的高度
  • 添加指定ParallaxListView方向的功能:水平或垂直
  • 添加文档页面
  • 还提供了通用控件,可让您指定背景和任意可滚动的前景控件。

翻译自: https://www.javacodegeeks.com/2018/03/new-parallax-control-for-java-javafx.html

javafx 打印控件

javafx 打印控件_Java的新视差控件(JavaFX)相关推荐

  1. Java的新视差控件(JavaFX)

    介绍 视差是一种视觉效果,您可以组合以不同速度移动的两个分层图像以获得深度感. 想想一下,当您在道路上行驶时,您会看到附近的树木在快速移动,而距离较远的树木将沿相同的方向移动,但速度较慢,结果是您感觉 ...

  2. activex java 控件_java 如何调用ActiveX控件??

    仓库发料系统 .loginInputText{ border: 1px solid #000000; padding-left: 2px; padding-right: 2px; padding-to ...

  3. java ppt控件_Java版PPT操作控件Spire.Presentation v3.3.5新版来袭!支持转换GroupShape到图片...

    Spire.Presentation for Java是专业的 PowerPoint API,它允许开发人员在 Java 应用程序中创建.读取.写入.转换和保存 PowerPoint 文档.作为一款独 ...

  4. java ppt控件_Java版PPT操作控件Spire.Presentation v2.12.2新版来袭!支持获取具有超链接的目标幻灯片...

    Spire.Presentation for Java是专业的 PowerPoint API,它允许开发人员在 Java 应用程序中创建.读取.写入.转换和保存 PowerPoint 文档.作为一款独 ...

  5. CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发, VC++源代码,OCX 控件源程序2018

    CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发,VC++源代码,OCX 控件源程序2018 -- 100%源码开放企业级CA ...

  6. 转——C# DataGridView控件 动态添加新行

    DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行, ...

  7. Windows Phone 8.1 新特性 - 控件之应用程序栏

    原文:Windows Phone 8.1 新特性 - 控件之应用程序栏 2014年4月3日的微软Build 2014 大会上,Windows Phone 8.1 正式发布.相较于Windows Pho ...

  8. 打造丝滑的滑动视差控件(ScrollParallaxView)

    1.前言 Wishing you peace, joy and happiness through the coming year. 提交祝贺大家新春快乐,狗年行大运. 2.正文 在年前跟大家分享一款 ...

  9. 原创“.NET研究”企业级控件库之图片浏览控件

    在上两篇:我介绍了原创企业级控件库之组合查询控件 和原创企业级控件库之大数据量分页控件,受到了很多朋友的支持,给了我很大的动力,在此我特表感谢.有的朋友要求把源码提供上来,我在第一篇就讲了,源码会在我 ...

最新文章

  1. 3个题目熟悉类和对象基础
  2. 微信js sdk 分享 失败 有时候好 有时候坏
  3. Python爬虫入门教程 1-100 CentOS环境安装
  4. C++ 泛型编程(二):非类型模板参数,模板特化,模板的分离编译
  5. python中的pymysql_(转)Python中操作mysql的pymysql模块详解
  6. Redis缓存穿透、击穿、雪崩来解释个明白
  7. C/C++—— #include“stdafx.h”详解
  8. SQLite的基本用法
  9. 拓端tecdat|python虎扑社区论坛数据爬虫分析报告
  10. 【标题】win只能打开部分软件例如QQ,UU加速器,浏览器无法打开
  11. PS如何更改图片部分颜色
  12. gantt图 classDiagram图应用举例 南北朝更迭图 南北朝帝王关系类图
  13. 心理正常与异常的区分_判断心理正常异常三原则
  14. 你口口声声想要的自由
  15. 掌握模电必需阅读的几本书
  16. 【英语语法入门】第41讲 原形不定式(2)感官动词
  17. 炔烃+叠氮“点击化学”(Click chemistry)试剂,你值得拥有
  18. java编程中对大数据的处理
  19. Java中double类型输出小数点后两位
  20. Linux —— 基本指令

热门文章

  1. [HNOI2016] 序列(线段树 + 莫队 + 倍增)
  2. [CF1442 D] Sum(分治优化dp + 结论)
  3. 震惊!温州一程序员编完八皇后吐血而亡,他的代码是什么样子?!!
  4. 牛客练习赛79E-小G的数学难题【dp,单调队列】
  5. P2485-[SDOI2011]计算器【BSGS,exgcd,快速幂】
  6. jzoj4051-序列统计【NTT】
  7. jzoj6191-[NOI2019模拟2019.5.31]Exchange【线段树】
  8. jzoj4228-C【dp】
  9. Java中的事务——JDBC事务和JTA事务
  10. Java IO: 序列化与ObjectInputStream、ObjectOutputStream