我有一个包装在StackPane中的ImageView,它已添加到SplitPane的顶部。当我移动SplitPane的分隔线时,我希望ImageView能够调整大小以适合分配的空间,同时还要保留ImageView的尺寸比例。我尝试使用以下代码段实现此目的:

Platform.runLater(() -> {
        image.fitHeightProperty().bind(stackpane.heightProperty());
        image.fitWidthProperty().bind(stackpane.widthProperty());
        image.setPreserveRatio(true);
    });


但是,这样做的问题是ImageView只会增长,而不会缩小。我怎样才能解决这个问题?

最佳答案

谜团已揭开!解决SplitPane的分隔符绑定问题似乎是解决方案。这不是完美的,因为有时图像的大小与舞台的宽度/高度不同,上/下或左/右边缘都不齐平,但可以完成工作。

Platform.runLater(() -> {
    image.fitWidthProperty().bind(splitPane.getDividers().get(0).positionProperty().multiply(splitPane.widthProperty()));
    image.fitHeightProperty().bind(splitPane.getDividers().get(0).positionProperty().multiply(splitPane.heightProperty()));
    imgWebCamCapturedImage.setPreserveRatio(true);
});

关于java - 在SplitPane中调整ImageView的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47140754/

10-09 09:31