How to draw a clock with JavaFX 2?

前端 未结 2 1417
耶瑟儿~
耶瑟儿~ 2020-12-05 21:48

Given an hour and a minute, I want to draw an analogous clock.

I was able to create a Group with a Circle, but I don\'t know which class to

相关标签:
2条回答
  • 2020-12-05 22:19
    1. Add 3 lines (for hour, minute, second) with different strokes and lengths to your Group.
    2. Place one end of each line in the center of your circle and the other end of each line pointing straight up at 12 o'clock.
    3. Create a timeline which triggers a keyframe each second.
    4. In the keyframe:
      • Calculate the degree of rotation for the hands based on the current time.
      • Rotate the hands the required amount.
    5. Set the timeline to cycle indefinitely.
    6. Place your Group in a Scene and add the Scene to a Stage.
    7. Play your timeline.

    I created a sample app implementing the above principles.

    enter image description here

    Update

    In response to criticism of the coding style used in the sample app, I created a refactored sample app which uses a more functional coding style.

    Additionally the jfxtras project has an AnalogueClock control. Here is the gist of how to use the jfxtras clock.

    0 讨论(0)
  • 2020-12-05 22:28

    Netbeans 7.1.2 is bundled with sample applications. In JavaFX part there is a StopWatch sample application. Have a look at it, it can give you a great clue.

    0 讨论(0)
提交回复
热议问题