2015-10-15 19 views
6

Tôi muốn liên kết JavaFX Label.textProperty với giá trị int.Nhãn liên kết JavaFX với giá trị int

Tôi đã thử ví dụ:

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

hoặc

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

Nhưng tôi luôn có được NullPointerException.

Làm cách nào để khắc phục sự cố?

+0

Bất kỳ lý do để sử dụng ràng buộc hai chiều trên nhãn? – ItachiUchiha

+0

@ItachiUchiha Có thể vì nó cho phép một cung cấp một 'StringConverter'. Tôi đã thử rằng trước khi tôi tìm thấy bạn có thể sử dụng 'integerProperty.asString()' với một ràng buộc unidirectional như bạn chỉ ra trong câu trả lời của bạn. – Ruben9922

Trả lời

9

Nếu bạn có một int bạn có thể tạo một SimpleIntegerProperty từ nó và sau đó sử dụng asString() vào nó:

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

Nếu bạn có một IntegerProperty, bạn có thể trực tiếp sử dụng nó

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

Mẹo bổ sung: bạn có thể sử dụng phiên bản quá tải của 'asString (Định dạng chuỗi)' có định dạng để thực hiện định dạng bổ sung của số. –

Các vấn đề liên quan