2015-10-15 9 views
6

JavaFX Label.textPropertyintの値でバインドしたいと思います。JavaFXバインディングint値のラベル

Label.textProperty().bindBidirectional(new SimpleIntegerProperty(myInt), 
                 new NumberStringConverter()); 

または

Label().textProperty().bindBidirectional(new SimpleIntegerProperty(myInt), 
                   new DecimalFormat()); 

しかし、私はいつもNullPointerExceptionがを取得します。

どうすれば修正できますか?あなたは、あなたがそれにasString()を使用し、それからSimpleIntegerPropertyを作成することができint型を持っている場合は

+0

任意の理由を使用することができますラベルに双方向バインディングを使用する場合は? – ItachiUchiha

+0

@ItachiUchiha「StringConverter」を提供する可能性があるためです。私はあなたがあなたの答えで指摘したように、あなたが単方向の束縛で 'integerProperty.asString()'を使うことができることを発見する前にそれを試みました。 – Ruben9922

答えて

9

:あなたはIntegerPropertyを持っている場合は

label.textProperty().bind(new SimpleIntegerProperty(integer).asString()); 

は、あなたが直接

label.textProperty().bind(integerProperty.asString()); 
+3

追加ヒント: 'asString(String format)'のオーバーロードされたバージョンを使うことができます。これは、そのフォーマットの追加フォーマットを行うフォーマットです。 –

関連する問題