如何从具有多个属性的observable列表中获取属性

时间:2016-03-09 14:56:56

标签: java javafx

private final ObservableList<City> cityList = FXCollections.observableArrayList(city
        -> new Observable[]{
            city.cityNameProperty(),
            city.cityLonProperty(),
            city.cityLatProperty()});

public ObservableList<City> getCityList() {
    return cityList;
}

如何从observableArrayList中的一个对象中检索cityNameProperty以设置列表视图?

我做了

cityView.setItems(cityList.getCityList());

但这是设置对象(city @ 59f..etc),而我需要对象的属性。

1 个答案:

答案 0 :(得分:1)

使用细胞工厂:

cityView.setCellFactory(lv -> new ListCell<City>() {
    @Override
    protected void updateItem(City city, boolean empty) {
        super.updateItem(city, empty);
        setText(empty ? null : city.getCityName());
    }
});