设置JavaFX ImageView的最大大小

时间:2014-02-01 17:19:53

标签: javafx-2 javafx-8

我根据场景调整图像视图的大小,但即使场景大于图像原始大小,图像也会继续调整大小。

我已设置ImageView.maxWidth(originalImageWidth),但无效。

我通过将ImageView的大小绑定到场景大小来调整ImageView的大小。

2 个答案:

答案 0 :(得分:3)

这样可行

Pane root = new VBox(); //or other Pane sub-class
ImageView bg = new ImageView(...);
bg.setPreserveRatio(false);
bg.fitWidthProperty().bind(root.widthProperty());
bg.fitHeightProperty().bind(root.heightProperty());
root.getChildren().addAll(bg);

答案 1 :(得分:0)

可能不再太相关了,但我找到了一个至少对我有用的解决方案:

  • 将setPreserveRatio设置为true,
  • 将fitHeight设置为所需的最大宽度*比率
  • 将fitWidthProperty绑定到screnes widthProperty

换句话说:您可以绑定一个维度,同时具有最大拟合大小。