之前翻译了JavaFX Script,后来一段时间就再没碰JavaFX,本想等Sun出Linux版的时候再看,但是Sun老不出,郁闷,还是回到了win下来看JavaFX了。自己对Swing还算比较了解,所以JavaFX GUI,难度也不大,不过还是有一些不同点的,总结一下。
顺便说下NetBeans6.5 for JavaFX1.1还不错,在项目的属性里面,run选项中,application,webstart,web,mobile四种运行方式都提供了,想以哪种方式运行就以哪种方式运行,还是很方便的,不过底层就了解得少了。没什么关系,先学会了,在深究也不迟。
下面入正题。
对Swing比较熟悉的人,学习JavaFX的GUI会发现,基本只是换了个写法罢了,很容易明白。但是JavaFX里面还有有一些独有的东西,像动画效果。做过Swing的都知道,动画不过就是不停的擦除和重画而已,所以在Swing里面做动画的做法是不停的改变图形的位置,然后调用界面的paint或者paintComponent方法重新画,就形成了动画。
而JavaFX则借鉴了Flash关键帧的做法,来实现了动画效果。相关教程可以观看Sun的官方文档,《使用 JavaFX 构建 GUI 应用程序-教程概述》第 7 课:创建动画对象。
做过Flash肯定对关键帧再熟悉不过了,Flash里面有个时间轴,当Flash开始运行的时候,一条时间线会向前走,当时间线走到关键帧的时候,图形会是预先定义的样子,而在两个关键帧之间,Flash会自动的调整图形,以形成动画。JavaFX也是这个原理。JavaFX的Timeline 和 keyFrame就很直观的说明了时间轴和关键帧了。借用教程代码。
Timeline {
keyFrames: [
KeyFrame{
time: 0s
values: x => 0.0
},
KeyFrame{
time: 7s
values: x => 387.0 tween Interpolator.LINEAR
}
]
}.play();
Timeline就是上面说的时间轴了,时间轴上有keyFrames,这里是定义了两个关键帧,一个关键帧在时间为0秒处,一个为时间7s处。这里的意思就是,x在2秒时为0.0,到7秒时变为387.0,之间JavaFX会自动做补间动画(又是Flash术语)。如下图示意(好久不玩Flash了,没装Flash,就手动画了个示意图)。
JavaFX还提供了简写。
Timeline {
keyFrames: [
at (0s) {x => 0.0},
at (7s) {x => 387.0 tween Interpolator.LINEAR}
]
}.play();
意思还是很明了的,在(at)0秒的时候x为0.0,在(at)7秒的时候x变为387
问题:教程里提到tween 运算符是插值的字面值构造函数,这个没有更深入的介绍了,看tween Interpolator.LINEAR的字面意思是线性插入,但是我去掉后好像没什么影响,不知有人知道具体用法没有?
JavaFX动画效果,相对Swing来说可是简单了很多
- 大小: 4.2 KB
- 大小: 11.1 KB
分享到:
相关推荐
动画和效果可以被无缝地应用于更复杂的UI中。 FXML视觉编辑器 Scene Builder生成FXML,这是一种基于XML的标记语言,使用户能够定义一个应用程序的用户界面,与应用程序的逻辑分开。你也可以打开和编辑由其他...
JavaFX是开发Java GUI程序的新框架,取代了Swing和AWT, 用于开发富英特网应用 AWT可以开发简单的用户界面,...JavaFX具有内建的2D、3D和动画支持,以及视频和音频的 回放功能,可以作为一个应用独立运行或者在浏览器中运行
这本书还涵盖了高级主题,如自定义控件、JavaFX 3D、手势设备、打印和动画。最棒的是,这本书充满了你可以适应和扩展到所有未来项目的工作代码。您的目标是在Java语言中开发视觉上令人兴奋的应用程序吗?这就是你想...
JavaFX则是Java SE 8之后引入的新一代GUI工具包,它更加现代化和灵活,支持丰富的特效和动画效果。 无论你选择使用Swing还是JavaFX,Java提供了可视化的开发工具(如NetBeans和Eclipse)和丰富的文档和教程,以帮助...
JavaFx聊天系统,套接字编程 参考: 平台 Windows 2008 Server,Windows 7,Windows 8,Windows XP,Windows Server 2012,Windows Vista,Windows 10 要求: mysql数据库 Java(JRE)版本 7.0、8.0(下面的下载...
音效与动画:为游戏添加音效和动画效果,提升游戏的可玩性和娱乐性。 通过以上设计与实现,基于Java的五子棋游戏能够为玩家提供简单、有趣的游戏体验,同时也可以作为学习Java编程和算法设计的练习项目。
Draw3D ** 该应用程序提供了3D绘图的GUI和程序界面。 执行ASampler.class以查看其功能摘要@作者威廉·爱迪生@version 1.01 2015年8月使用JavaFX 8开发了Draw3D,以支持同事的开发线性代数课程,为学生/教师提供基本...
4.9 动画和特殊效果 97 4.10 不寻常的控件 100 练习 103 第5章新的日期和时间API 106 5.1 时间线 108 5.2 本地日期 110 5.3 日期校正器 113 5.4 本地时间 114 5.5 带时区的时间 115 5.6 格式化和解析 119 5.7 与遗留...
ProB2-UI是用于动画器,约束求解器和模型检查器的基于JavaFX的现代用户界面。 除了,ProB还支持 , , 和 要求 ProB 2 UI需要Java 8或更高版本,并且已经过Oracle JDK 8、9和10的测试。 下载 可以在下载ProB 2 UI的...
包是xdvrx1ProjectSwing 。 对于仍然不知道包在 Java 中的重要性的其他人,它用于管理项目的命名空间。 想象一下,如果没有包,开发人员最终会争论,比如说,谁应该得到MyClass这个名字。 注意:你必须在你的IDE中...
显示聊天,标题,记分牌,项目, GUI ,标志,动作栏,老板栏,暴民栏, MOTD和动画文本的预览; 使用自动补全功能可以更快地插入元素; 快速显示彩色文字; 通过编辑器插入彩色文本; 按名称/ ID插入项目; 按...
可以使用Java图形用户界面(GUI)库,如Swing或JavaFX来实现游戏界面的设计。 玩家飞机控制:玩家通过键盘或鼠标控制飞机的移动和射击。可以监听键盘或鼠标事件,根据玩家的操作来控制玩家飞机的移动和发射子弹。 ...
该应用程序包括一个用JavaFX开发的彩色图形用户界面,其中带有动画植物的图像,并允许用户在一百万种植物中进行搜索,命名并添加到他们的个人资料库中。 用户还可以选择将植物添加到他们的愿望清单。 根据应用程序...