如果我创建了一个ListView:
new ListView<>(FXCollections.observableArrayList("1", "2", "3"))
我希望它创建一个有3行的ListView。但事实并非如此,它创建了一个大约有17行的ListView。有没有一种方法可以告诉ListView始终是高度,这样无论其中的项目是什么,都会显示出来,但没有空行?
让它自动宽度也会很有用,所以它总是和最宽的一行一样宽。
这样做的一个目的是可以在ScrollPane中使用它。我知道它有自己的滚动条,但它们没有提供足够的控制。
发布于 2014-01-28 22:33:00
我刚刚发现Paul Marshall的答案可以简化为一行代码,使用Bindings.size创建一个表示ObservableList大小的数值型jfx属性:
listView.prefHeightProperty().bind(Bindings.size(itemListProperty).multiply(LIST_CELL_HEIGHT));
遗憾的是,列表单元格的高度必须仍然是硬编码的AFAIK。
https://stackoverflow.com/questions/17429508
复制相似问题