如何在javafx 2.0及更高版本中将Integer
转换为ObservableValue<Integer>
?
答案 0 :(得分:28)
我们使用ReadOnlyObjectWrapper<>(*integer value*);
并将值存储在ObservableValue<Integer>
引用中。
ObservableValue<Integer> obsInt = new ReadOnlyObjectWrapper<>(intValue);
<强>更新强>
启动JavaFX 8,您还可以执行以下操作:
ObservableValue<Integer> obsInt = new SimpleIntegerProperty(intValue).asObject();
答案 1 :(得分:9)
另一种方式。
new SimpleIntegerProperty(integer_value).asObject()
答案 2 :(得分:3)
IntegerProperty
实施ObservableValue<Number>
而非ObservableValue<Integer>
。所以你应该这样做:
// Here Person is a class and age is a variable of type IntegerProperty
ObservableValue<Number> ob = Person.age;
答案 3 :(得分:0)
如果使用tableview,请执行以下操作: 只需将Integer更改为Number
@FXML
private TableColumn<Sockets,Number> key;
...
key.setCellValueFactory(cellData -> cellData.getValue().socketIdProperty());