将 ImageView 装入 TreeTableCell

短脸

我正在使用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))));
    }
}

我试图显示的图像是这样的:

在此处输入图片说明

但是,图像没有正确地放入单元格中。这是表的外观:

在此处输入图片说明

如何在不修改图像本身的情况下使图像适合单元格?

费边

您应该将要显示的数据 ( Image) 与其显示方式( )分开ImageView

这是通过修改MyLogstatusImage属性以包含类型Image并使用cellFactory返回TreeTableCell使用ImageViews 显示图像的 s 来完成的。

public class MyLog extends RecursiveTreeObject<MyLog> {

    // more properties...

    public final ObjectProperty<Image> statusImage;

    public MyLog(String imagePath) {
        this(new Image(MyProject.class.getResourceAsStream(imagePath)));
    }

    /**
     * Constructor for passing Image objects.
     * (Could be helpful to reuse Images to reduce the footprint.)
     */
    public MyLog(Image statusImage) {
        this.statusImage = new SimpleObjectProperty(statusImage);
    }

}
statusColumn.setCellFactory(column -> new JFXTreeTableCell<MyLog, Image>() {

    private final ImageView imageView;

    {
        imageView = new ImageView();
        imageView.setFitWidth(20);
        imageView.setFitHeight(20);
        setGraphic(imageView);
    }

    @Override
    protected void updateItem(Image item, boolean empty) {
        super.updateItem(item, empty);
        imageView.setImage(item);
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将 20 个值装入 5 位

来自分类Dev

LAHF(将标志寄存器的低位字节装入AH)

来自分类Dev

试图将carouFredSel装入可变宽度的容器中

来自分类Dev

LAHF(将标志寄存器的低位字节装入AH)

来自分类Dev

JavaFx:TreeTableCell 边框 css

来自分类Dev

Java如何将3个字节的Unicode字符装入char类型?

来自分类Dev

如何通过bash将CD装入已安装的三星手机

来自分类Dev

将分区装入主文件夹后丢失了我的文件

来自分类Dev

将文件保存到装入的内部存储器中,然后从PC下载

来自分类Dev

将JSON文件装入大熊猫数据框时出错

来自分类Dev

将imageview放置在中心

来自分类Dev

将ImageView与GridView绑定

来自分类Dev

将 ImageView 放入 listView

来自分类Dev

从代码请求开始编辑TreeTableCell

来自分类Dev

从代码请求开始编辑TreeTableCell

来自分类Dev

将ImageView更改为黑白

来自分类Dev

将ImageView设置为底部

来自分类Dev

将TextView放在ImageView的前面

来自分类Dev

将ImageView放在TableRow内部

来自分类Dev

将TextView放在ImageView的前面

来自分类Dev

将EditText放置在Imageview上

来自分类Dev

将前景设置为imageview

来自分类Dev

将ImageButton放在ImageView的中心

来自分类Dev

无法将 imageView 拖入 viewController

来自分类Dev

错误-无法附加或装入卷:未装入的卷= [数据]

来自分类Dev

将表中单击相同行的所有单元格值均装入数组,但第一个和最后一个<td>

来自分类Dev

用于C ++ .so的Python包装器仅在将代码复制到docker映像中时可用,而不是在按卷装入时使用吗?

来自分类Dev

SSHFS是一次将全部文件复制到本地还是仅在我将它们装入CD时才将它们复制到本地?

来自分类Dev

tcplay:无法写入装入的卷

Related 相关文章

热门标签

归档