2012-05-10 14 views
4

時間と分が与えられたら、私は類似の時計を描きたい。JavaFX 2で時計を描くには?

CircleGroupを作成することはできましたが、手のためにどのクラスを使用するのか、どのように配置して回転するのかはわかりません。

答えて

19
  1. strokesとあなたのグループの長さが異なる3 lines(時、分、秒)を追加してください。
  2. 各行の一端を円の中心に置き、各行の他端を12時に真っ直ぐに向けます。
  3. 毎秒キーフレームをトリガーするtimelineを作成します。キーフレームで
    • 現在timeに基づいてハンド回転角度を計算します。
    • Rotate必要な量を手に渡します。
  4. タイムラインをcycleindefinitelyに設定します。
  5. グループをシーンに配置し、シーンをステージに追加します。
  6. Playタイムライン。

上記の原則を実装するsample appを作成しました。

enter image description here

更新

サンプルアプリケーションで使用されるコーディングスタイルのcriticismに応じて、私はより多くの機能コーディングスタイルを使用するrefactored sample appを作成しました。

さらに、jfxtras projectにはアナログ時計コントロールがあります。ここでは、クロックの使用方法の要点はjfxtrasです。

+0

すばらしいアプリです。 –

+0

非常にいい例 – Tangocoder

+0

どのようにして 'Line'インスタンスにpointy arrow headsを追加しますか? – bvdb

5

Netbeans 7.1.2は、サンプルアプリケーションとともにバンドルされています。 JavaFXの部分にはStopWatchサンプルアプリケーションがあります。それを見て、それはあなたに大きな手がかりを与えることができます。

+1

、またjavafx.comからダウンロードできるEnsembleサンプルに含まれています –

関連する問題