JavaFX:将 ImageView 缩放到 table 列宽

JavaFX: scale ImageView to table column width

我在 table 列中显示图像。缩放我使用的图像

    image.fitWidthProperty().bind(col.widthProperty().subtract(40));

但是如果图像宽度大于列宽,我只需要一个缩放解决方案。在另一种情况下,我将使用原始图像宽度。

我怎么写?

图像加载后,您可以通过在 Image 上调用 getWidth()(而不是在 ImageView 上)来获取其宽度。

那你可以做

image.fitWidthProperty().bind(
    Bindings.when(col.widthProperty().lessThan(imageWidth + 40))
            .then(col.widthProperty().subtract(40))
            .otherwise(imageWidth));