根据其高度填充ListView

时间:2013-02-10 13:02:25

标签: listview javafx

我有:

  1. 一个Integer数组,例如100000个元素
  2. 带有数据的ListView是上述数组的一部分
  3. 我希望在更改垂直尺寸时始终填充ListView,并且垂直滚动条始终隐藏。我的意思是listView.getItems.size()= ListView中当前可观察单元格的数量。

    我该怎么做?帮帮我PLZ?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。

如果不是从数组中创建一个,那么您的ListViewObservableList包含整数。

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));
    }
});

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