JavaFx实现-渐变效果之一
但是由于JavaFX推出的太晚,兼之文档较少,很多人还是对其望而止步,干等下去也不是办法。所以我最近空闲时会写一些JavaFX的小例子以作练习之用。
import javafx.ui.canvas.*;
//圆点渐变过滤器
class CircleTransition extends CompositeNode ...{
//设定参数项 变量名:类型
attribute r: Number;
attribute d: Number;
attribute w: Number;
attribute h: Number;
attribute xp: Number;
attribute img: Image;
}
//为参数赋值
attribute CircleTransition.r = -45;
attribute CircleTransition.d = 16;
attribute CircleTransition.w = 320;
attribute CircleTransition.h = 240;
attribute CircleTransition.xp = -w;
//注入过滤器参数
function CircleTransition.composeNode() = Group ...{
content:[Clip ...{
//注入shape
shape: Rect ...{ x:0, y:0, width:w, height:h },
//设定偏移
transform: translate(10, 40),
//注入Group
content: Group ...{
//加载ImageView用以显示图像
content: [ImageView ...{
transform: translate(-60, -30),
p_w_picpath: this.img,
//分段绘制图像
}, Subtract ...{
shape1: Rect ...{ x:0, y:0, width:w*4, height:h*4 },
fill:orange,
//bind
transform: bind [rotate(r, 0, h), translate(-w+xp, 0)],
shape2: Union ...{
content: [foreach (j in [0..w/d], i in [0..h/d*2]) Circle ...{
radius: j,
cx: w-j*d,
cy: i*d,
}, Rect ...{
x:-w, y:0, width:w+w/2, height:h*2,
}]
}
}],
}
}, View ...{
content: GroupPanel ...{
var row = Row ...{alignment: BASELINE}
var column1 = Column ...{}
var column2 = Column ...{}
//鼠标设为默认
cursor: DEFAULT
rows: [row]
columns: [column1, column2]
content: [SimpleLabel ...{
row: row
column: column1
text: "操作:"
}, Button ...{
row: row
column: column2
opaque: false
mnemonic: T
text: "变更图像"
action: operation() ...{
xp = [0,d..w*2] dur 2000;
}
}]
}
}
]};
Frame ...{
title : "JavaFX - 图像渐变效果1"
width : 350
height : 350
content: Canvas ...{ content: CircleTransition...{img: ...{ url: "p_w_picpath.jpg" }} }
centerOnScreen: true
visible: true
};
效果图:
第一次写代码的感觉就是效率太慢……
由解释到执行的效率比Swing还不能令人忍受(当然,有代码优化的余地,但还是太慢)
且抛去效率问题不提,桌面JavaFX现在还有一个比较关键的问题,那就是如何部署。对于从前没有安装过JRE的用户来说,JRE体积太大,而且现在从浏览器上进行按需安装(如使用Java Start Web等)的用户体验也不是特别好。
目前Sun的官方解决思路是为JRE引入一种新型的部署模型,初次下载时体积非常小,只有在需要时才下载其他的JRE组件。但是具体的效果如何,我们还需拭目以待。
PS:如果Windows能普及jre该有多好啊……
转载于:https://blog.51cto.com/cping1982/130165
JavaFx实现-渐变效果之一相关推荐
- 烦死人的JavaFX警告,终于解决了
WARNING: Loading FXML document with JavaFX API of version xx by JavaFX runtime of version xx 这个格式的Ja ...
- 使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果
使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果 1. 效果图 2. 源码 参考 这篇博客将使用python,opencv绘制调色板及圆形来模拟霓虹的渐变效果. 1. 效果图 可以构 ...
- JDK11使用IDEA,配置JavaFX
JDK11使用IDEA,配置JavaFX 1.下载javaFX相关的包 2.在实际Demo中试验哪里少了添加哪里 导入lib文件夹,之后点击OK 配置VMoption 配置成功 3.运行,大功告成 1 ...
- JavaFX项目jar使用javafxpackager生成exe
2019独角兽企业重金招聘Python工程师标准>>> JavaFX项目jar使用javafxpackager生成exe 编译JavaFX生成可执行jar 新建文件夹test1,将第 ...
- R语言gganimate包创建可视化gif动图、可视化动图:创建动态散点图动画基于transition_time函数、使用shadow_wake函数配置动画的渐变效果(gradual falloff)
R语言gganimate包创建可视化gif动图.可视化动图:创建动态散点图动画基于transition_time函数.使用shadow_wake函数配置动画的渐变效果(gradual falloff) ...
- android 滑动模糊渐变,Android UI效果实现 滑动模糊渐变效果实现
大家应该都看到过iOS7解锁屏幕的滑动模糊渐变效果,好了,现在可以把手纸收起来了,今天黄老师就给大家讲一下如何在Android平台上 实现类似的滑动模糊渐变效果,其实方式远比你想像的简单. 目标效果展 ...
- 像素颜色JavaFX示例--简易图片处理工具
文章结束给大家来个序程员笑话:[M] 声明: 本博客文章原创类别的均为个人原创,版权所有.载转请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http:/ ...
- javaFX中解决填充(拉伸)问题
1.margin设置实现 在项目过程中,遇到此问题,如图: 如果窗口缩小,HBox(左边的包含TitledPane那部分)看不到底部 如果窗口拉大,下面就出现空白,HBox高度没拉神 办法:对包含HB ...
- JavaFX打包工具(javafxpackager)
2019独角兽企业重金招聘Python工程师标准>>> 首先创建一个JavaFX文件,Hello World package test;import javafx.applicati ...
最新文章
- 【新】欢庆网自动搜索请柬console方法,面对多种网站改版的情况
- 为jqgrid添加统计金额页脚
- 在 Java 中高效使用锁的技巧--转载
- oracle 并行提交,如何配置Oracle并行处理(上)
- STL6大标准库的关系和作用
- 《响应式Web设计性能优化》一2.1 性能度量基础
- java与java ee_Java EE 7社区调查结果!
- 12个JavaScript技巧
- android 延时摄影,当「延时摄影」和「镜头慢放」结合,手机视频从未有如此质感……#Android&iOS...
- java scjp 试题_JAVA认证:78道SCJP考试试题精解
- linux驱动_设备驱动_问题定位_vivo_pd1932_音量键
- 下载instagram
- 【qcom msm8953 android712】rtc 调试分析续
- 领你走进10位管理大师的思想境界
- DOS命令:diskpart
- halcon学习_超人启蒙班10-20课
- 国庆第七天的一些杂感
- 深度学习(12):SemanticKITTI论文翻译与学习
- eChars实现哈尔滨市区县地图展示
- 辞职两年:自由的代价
热门文章
- VTK:相互作用之RubberBand2DObserver
- VTK:相互作用之CallBack
- VTK:Filtering之VectorFieldNonZeroExtraction
- C语言选择排序Selection sort算法(附完整源码)
- C++ const详解
- QT的QMutableLinkedListIterator类的使用
- QT的QLineSeries类的使用
- QT的QHistoryState类的使用
- base环境卸载python_20小时快速学习python数据分析实践1——相关软件一系列安装和基本操作熟悉(第0-1h)...
- html点击波,Material Design风格按钮点击波动画效果