我有一个borderPane,其中有一个菜单顶部,一个网格左边,一个图像位于中心。我希望图像的大小与边框的中心大小相同,因为现在图像越过我的网格。
我试过了:
imageView.fitWidthProperty().bind(box.widthProperty());
其中imageView是我的图片的名称,box是BorderPane对象。谢谢。
答案 0 :(得分:2)
请参阅JavaFX功能请求RT-21337 Add ImageViewPane and MediaViewPane controls ,其中包含示例ImageViewPane
实施的代码附件,该附件会将其包含的ImageView
调整为该区域可用的区域。要获得所需的行为,可能还需要在ImageViewPane
上实施computeMinWidth和computeMinHeight,以便它们返回零而不是图像的最小大小。
现在图像越过我的网格
这是因为您图片的最小尺寸目前大于BorderPane中心的可用空间:
BorderPane默认情况下不会剪切其内容,因此如果孩子的最小尺寸阻止它适合其空间,则儿童的边界可能会超出其自己的范围。
防止中心内容溢出边界的一些潜在替代方案:
ImageView
的大小,与上面链接的ImageViewPane
示例一样。ImageView
放入ScrollPane。ImageView
。我试过了:
imageView.fitWidthProperty().bind(box.widthProperty());
我从提供的代码中猜测,这不起作用,因为图像的封闭框是某种动态可调整大小的窗格,因此框的最小宽度由图像的宽度决定,而不是反之亦然。