2015-10-15 8 views
6

int değeriyle JavaFX Label.textProperty'u bağlamak istiyorum.JavaFX bağ türü int değeriyle etiketleme

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

veya

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

Ama her zaman NullPointerException olsun.

Nasıl düzeltebilirim? Eğer üzerinde asString() kullanmak sonra ondan bir SimpleIntegerProperty oluşturabilir ve bir int varsa

+0

Herhangi nedenlerini kullanabilirsiniz Etiket üzerinde çift yönlü ciltleme kullanmak için? – ItachiUchiha

+0

@ItachiUchiha Muhtemelen bir 'StringConverter' sağlamak için izin verdiği için. Bunu bulmadan önce, 'integerProperty.asString()' işlevini, yanıtınızda belirttiğiniz gibi tek yönlü bir bağlamayla kullanabilirsiniz. – Ruben9922

cevap

9

: Bir IntegerProperty varsa

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

, doğrudan o

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

Ek ipucu: sayının ek biçimlendirmesini yapmak için bir biçim alan "asString (String formatı)' nın aşırı yüklenmiş sürümünü kullanabilirsiniz. –