17

如何在 javafx 2.0 及更高版本中转换Integer为?ObservableValue<Integer>

4

4 回答 4

40

我们使用 aReadOnlyObjectWrapper<>(*integer value*);并将值存储在ObservableValue<Integer>引用中。

ObservableValue<Integer> obsInt = new ReadOnlyObjectWrapper<>(intValue);

更新

从 JavaFX 8 开始,您还可以执行以下操作:

ObservableValue<Integer> obsInt = new SimpleIntegerProperty(intValue).asObject();
于 2013-01-19T10:26:11.823 回答
10

其他方式。

new SimpleIntegerProperty(integer_value).asObject()
于 2014-09-23T05:46:10.597 回答
5

如果您使用 tableview 这样做:只需将 Integer 更改为 Number

@FXML
private TableColumn<Sockets,Number> key;
...
key.setCellValueFactory(cellData -> cellData.getValue().socketIdProperty());
于 2019-06-18T20:33:10.270 回答
3

IntegerPropertyObservableValue<Number>不执行ObservableValue<Integer>。所以你应该这样做:

// Here Person is a class and age is a variable of type IntegerProperty
ObservableValue<Number> ob = Person.age;
于 2016-07-05T08:09:56.947 回答