JavaFX之 Digital Number

 

JavaFX对2D的支持比Swing要好多了,Swing只是给你了一张白白的画布和一只笔,看似自由度很高,不过复杂性也同样比较高,因为所有的都是一笔一画出来的。

JavaFX里面就不一样了,类似Swing里面的Component,JavaFX geometry包下面的对象就是一些经过包装过的常用2D对象,它们都继承与javafx.scene.Node且实现了javafx.animation.Interpolatable接口,所以都具有事件处理,缩放,坐标转换,角度转换的功能,有了这些就可以轻松的绘制你想要的图形,并且是具备事件处理,很方便就能交互的图形。

我的老主板有一个监控软件,可以显示CPU,主板温度,风扇转速,其中转速这里是用 的类似电子表里面的数字显示,感觉还是比较漂亮的,以前学Swing的时候也想照着做一个,不过全无头绪,现在看见JavaFX了,自然眼前一亮,用Geometry包绝对很简单。

先来个截图: 点击Button按钮,下面的数字加1再Mod 10, 代码不多,也就花了半天时间,主要的思路就是把数字分成八个部分,然后先绘制好第一个部分,剩下的部分通过转换位置,角度来实现,至于透明效果,javaFX里面只需要指定窗口样式为透明,Fill为Null就可以,简单!! 源代码

0 评论: