2015-10-15 8 views
6

के साथ जावाएफएक्स बाइंडिंग लेबल मैं int मान के साथ जावाएफएक्स Label.textProperty को बांधना चाहता हूं।इंट मान

मैंने उदाहरण की कोशिश की

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

या

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

लेकिन मैं हमेशा NullPointerException मिलता है।

मैं इसे कैसे ठीक कर सकता हूं?

+0

किसी भी कारणों से उपयोग कर सकते हैं लेबल पर बिडरेक्शनल बाध्यकारी का उपयोग करने के लिए? – ItachiUchiha

+0

@IachachiUchiha संभवतः क्योंकि यह एक 'स्ट्रिंग कनवर्टर' प्रदान करने की अनुमति देता है। मैंने कोशिश की कि इससे पहले कि मैंने पाया कि आप एक unidirectional बाध्यकारी के साथ 'integerProperty.asString() 'का उपयोग कर सकते हैं जैसा कि आपने अपने उत्तर में बताया था। – Ruben9922

उत्तर

9

आप किसी पूर्णांक आप इसे से एक SimpleIntegerProperty बना सकते हैं और फिर उस पर asString() उपयोग करते हैं:

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

आप एक IntegerProperty है, तो आप इसे सीधे

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

अतिरिक्त युक्ति: आप 'asString (स्ट्रिंग प्रारूप)' के अधिभारित संस्करण का उपयोग कर सकते हैं जो संख्या के अतिरिक्त स्वरूपण करने के लिए एक प्रारूप लेता है। –

संबंधित मुद्दे