Преобразование целочисленного в ObservableValue <Integer> в javafx

Как преобразовать Integer В ObservableValue<Integer> в javafx 2.0 и позже?

Ответ 1

Мы используем ReadOnlyObjectWrapper<>(*integer value*); и сохраняем значение в ObservableValue<Integer>.

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

Обновление

Запустив JavaFX 8, вы также можете сделать следующее:

ObservableValue<Integer> obsInt = new SimpleIntegerProperty(intValue).asObject();

Ответ 2

Другой способ.

new SimpleIntegerProperty(integer_value).asObject()

Ответ 3

IntegerProperty реализует ObservableValue<Number> не ObservableValue<Integer>. Так что вы должны сделать:

// Here Person is a class and age is a variable of type IntegerProperty
ObservableValue<Number> ob = Person.age;

Ответ 4

если вы используете tableview, сделайте это: просто измените Integer на Number

@FXML
private TableColumn<Sockets,Number> key;
...
key.setCellValueFactory(cellData -> cellData.getValue().socketIdProperty());