我正在使用JFXTreeTableView
,其中有一列显示图片。该列的构造如下:
JFXTreeTableColumn<MyLog, ImageView> statusColumn = new JFXTreeTableColumn<>("Status");
statusColumn.setCellValueFactory((TreeTableColumn.CellDataFeatures<MyLog, ImageView> param) -> {
return param.getValue().getValue().statusImage;
});
班级MyLog
如下所示:
public class MyLog extends RecursiveTreeObject<MyLog> {
// more properties...
public ObjectProperty<ImageView> statusImage = new SimpleObjectProperty<ImageView>();
public MyLog(String imagePath)
{
statusImage.set(new ImageView(new Image(MyProject.class.getResourceAsStream(imagePath))));
}
}
我想要显示的图片就是这个:
但是,图像无法正确装入单元格。这就是表格的外观:
如何在不修改图像本身的情况下使图像适合单元格?
答案 0 :(得分:1)
您应该分开要显示的数据(Image
)及其显示方式(ImageView
)。
这是通过将MyLog
的{{1}}属性修改为包含类型statusImage
并使用返回Image
的{{1}}来完成的cellFactory
显示图像。
TreeTableCell
ImageView