Одна странная часть API свойств заключается в том, что IntegerProperty
реализует ObservableValue<Number>
, а не ObservableValue<Integer>
. Итак, несколько противоречиво, вам нужно
TableColumn<Person, Number> ageColumn = new TableColumn<Person, Number>("Age");
В стороне, и я не уверен, что это вызывает проблемы, но обычно использовать int
вместо Integer
для типа возврата для метода get и типа параметра для метода set в вашем классе модели. Они соответствуют типам для IntegerProperty.get()
и IntegerProperty.set(...)
, поэтому он просто избегает некоторого неявного автоматического (un) бокса.