0
一个小的图形烦恼,但我有一个ListView设置为显示自定义对象的设置高度超过默认值。我试图使用setFixedCellSize()
,它在大多数用途中完美地工作,但在某些情况下,某些单元的单元高度可能会根据用户交互而增长和缩小。ListView设置虚拟行高度
class Example extends Label {
private boolean change = true;
public Example(String text) {
super(text);
setMinHeight(150);
setPrefHeight(150);
setMaxHeight(150);
Hyperlink link = new Hyperlink("Change");
setGraphic(link);
link.setOnAction(ae -> {
change = !change;
if(change) {
setMinHeight(80);
setPrefHeight(80);
setMaxHeight(80);
} else {
setMinHeight(180);
setPrefHeight(180);
setMaxHeight(180);
}
});
}
}
ListView<Node> list = new ListView<>();
list.setFixedCellSize(150);
list.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
list.getItems().addAll(new Example("Hello world"), new Example("12345"));
在我上面的例子中,当点击超链接时,标签改变高度。当添加setFixedCellSize()
时,它不再执行此操作。是否有另一种方式实现改变虚拟行的相同效果,但允许自定义节点改变高度?