2017-01-24 6 views
-3

タイトルの質問は十分詳細です。IntegerPropertyをhh:mm:ssに変換します。ラベルにバインドしてバインドします。

javafxでこれを簡単に実行できるツールはありますか?

コメント数: IntegerPropertyはJavaFXの抽象です。ここではSimpleIntegerPropertyを使用しています。

整数バインディングを上記の時刻形式(バインディングとして)に変換したいと思います。

ここでの主な問題は、比較的短いコードでどのように行うことができるかです(fxは他のもののようにいくつかのトリックを提供すると思います)。

+2

質問は詳細ではありません。 IntegerPropertyが何を表現しようとしているのか分かりません。 – scottb

+0

また、質問の不可欠な部分をタイトルに含めることは決して良いことではありません。 – fabian

+0

@Ernio 'IntegerProperty'は何を表していますか?秒ですか?ミリ秒?あなたはプロパティを翻訳したいものの例を挙げることができますか? – MikaelF

答えて

1

私はあなたのIntegerPropertyが秒数を表していると推測していますか?もしそうなら、siddhadevの答えはHow to convert Milliseconds to “X mins, x seconds” in Java?で、時間単位を表す整数をStringにフォーマットする素晴らしい方法があります。あなたのプロパティにリスナーを追加し、フォーマットされたStringをそこから設定するだけです。

public static String formatStringToTime(int seconds){ 
    return String.format("%02d:%02d:%02d", TimeUnit.SECONDS.toHours(time), 
      TimeUnit.SECONDS.toMinutes(time) - TimeUnit.HOURS.toMinutes((TimeUnit.SECONDS.toHours(time))), 
      time - TimeUnit.MINUTES.toSeconds(TimeUnit.SECONDS.toMinutes(time))); 
} 

... 

//main method 
IntegerProperty prop = new SimpleIntegerProperty(); 
prop.addListener((ob, ov, nv) -> yourObject.setString(formatStringToTime(nv)); 
関連する問題