0

我有:

  1. 整数数组,例如 100000 个元素
  2. 带有数据的 ListView 是上述数组的一部分

我希望在更改垂直大小时始终填充 ListView,并且始终隐藏垂直滚动条。我的意思是 listView.getItems.size()=ListView 中当前可观察单元格的数量。

我怎样才能做到这一点?请帮帮我好吗?

4

1 回答 1

1

我已经找到了解决方案。

如果不只是从数组中创建一个,那么您将拥有您的ListView和您ObservableList的整数。

ListView lv = new ListView();
ObservableList integerArray = FXCollections.observableArrayList();
//set the items
lv.setItems(integerArray);
//add a change listener to the observable list
integerArray.addListener(new ListChangeListener() {
        @Override
        public void onChanged(Change change) {
        //set the height of the ListView accordingly
         lv.setPrefHeight((lv.getItems().size() * 25));
    }
});

因此,当您从可观察列表中添加或删除某些内容时,将触发侦听器并且列表视图大小将发生变化

于 2013-03-13T12:22:40.753 回答