JavaFX ListView中的图像
是否有将图像添加到JavaFX ListView的方法?
这是我当前设置列表视图项的方式。
private ListView<String> friends;private ObservableList<String> items;
items = FXCollections.observableArrayList(getFriends);
friends.setItems(items);
我还使用列表视图值作为ID来知道选择了哪个。
回答:
实现ListCell
显示图片的,并在cellFactory
上设置ListView
。该标准的Oracle教程有一个自定义列表单元实现的一个例子。
您将按照以下方式进行操作:
friends.setCellFactory(listView -> new ListCell<String>() { private ImageView imageView = new ImageView();
@Override
public void updateItem(String friend, boolean empty) {
super.updateItem(friend, empty);
if (empty) {
setText(null);
setGraphic(null);
} else {
Image image = getImageForFriend(friend);
imageView.setImage(image);
setText(friend);
setGraphic(imageView);
}
}
});
该updateItem(...)
方法可以经常调用,因此最好预加载图像并将其提供给单元使用,而不是每次updateItem(...)
调用都创建它们。
以上是 JavaFX ListView中的图像 的全部内容, 来源链接: utcz.com/qa/413915.html