2015-10-15 2 views
6

Я хочу связать JavaFX Label.textProperty с int значением.Связывание JavaFX Ярлык со значением int

Я пробовал, например.

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

или

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

Но я всегда получаю NullPointerException.

Как это исправить?

+0

Есть причины для использования двунаправленного привязки на ярлыке? – ItachiUchiha

+0

@ItachiUchiha Возможно, потому что он позволяет предоставить «StringConverter». Я пробовал это, прежде чем обнаружил, что вы можете использовать 'integerProperty.asString()' с однонаправленным связыванием, как вы указали в своем ответе. – Ruben9922

ответ

9

Если у вас есть Int вы можете создать SimpleIntegerProperty от него, а затем использовать asString() на нем:

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

Если у вас есть IntegerProperty, вы можете напрямую использовать его

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

Дополнительный совет: вы можете использовать перегруженную версию 'asString (String format)', которая принимает формат для дополнительного форматирования числа. –

Смежные вопросы