将ObservableList中的图像添加到tableview

时间:2016-04-04 21:01:51

标签: image tableview observablelist

我在Animal类中有一个String变量“image”。

然后我将它添加到ObservableList中,然后将其添加到TableView。

我的代码是显示图像的位置,但我希望它显示实际图像

这样做的最佳方法是什么。谢谢!

TableColumn<Animal, String> imgCol = new TableColumn<>("IMAGE");
imgCol.setPrefWidth(200);
imgCol.setCellValueFactory(new PropertyValueFactory<>("_image"));

1 个答案:

答案 0 :(得分:0)

Managed to get it working.

imgCol.setCellFactory(col -> new TableCell<Animal, String>() {
                ImageView imageview = new ImageView();
                @Override
                public void updateItem(String valid, boolean empty) {
                    super.updateItem(valid, empty);
                    if (valid != null) {
                        imageview.setImage(new Image(valid));
                        imageview.setFitWidth(90);
                        imageview.setFitHeight(90);
                        imageview.setPreserveRatio(true);
                        imageview.setSmooth(true);
                        setGraphic(imageview);
                    }else{

                        setGraphic(null);
                    }
                }
            });