如何用JavaFX 2绘制时钟?

花了一个小时一分钟,我想绘制一个类似的时钟。

我能够创建一个带CircleGroup ,但我不知道哪个类用于手以及如何放置和旋转它们。

  1. 为您的组添加3 行 (小时,分钟,秒),不同的笔画和长度。
  2. 将每条线的一端放在圆圈的中心,每条线的另一端直指12点钟位置。
  3. 创建一个每秒触发一个关键帧的时间轴 。
  4. 在关键帧中:
    • 根据当前时间计算指针的旋转度。
    • 将指针旋转到所需的量。
  5. 将时间轴设置为无限 循环 。
  6. 将您的组放在场景中并将场景添加到舞台。
  7. 播放你的时间表。

我创建了一个实现上述原则的示例应用程序 。

在此处输入图像描述

更新

为了回应对示例应用程序中使用的编码样式的批评 ,我创建了一个使用更多function编码样式的重构示例应用程序 。

此外, jfxtras项目还有一个AnalogueClock控件。 以下是如何使用jfxtras时钟的要点。

Netbeans 7.1.2与示例应用程序捆绑在一起。 在JavaFX部分中有一个StopWatch示例应用程序。 看看它,它可以给你一个很好的线索。