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

回到顶部