JavaFx图像大小的调整

 2023-02-17    406  

问题描述

我有一个带有菜单顶部的边界台面,左边的网格和一个图像.我希望图像的大小与边界的中心相同,因为现在图像越过我的网格.

我尝试了:

JavaFx图像大小的调整

imageView.fitWidthProperty().bind(box.widthProperty());

其中imageView是我的图像的名称,而框是Borderpane对象.谢谢

推荐答案

请参阅JAVAFX功能请求 rt-21337 >包含用于示例ImageViewPane实现的代码附件,该实现将调整其包含在该地区可用区域的ImageView大小.要获得所需的行为,您还需要实现 computeminwidth 和 computeminheight ImageViewPane上,以便它们返回零,而不是图像的最小尺寸.


现在图像越过我的网格

这是因为您的图像的最小尺寸当前大于 borderpane :

borderpane不会默认剪辑其内容,因此,如果孩子的最小大小使其无法适应其空间,则儿童的界限可能会超出其自身范围.

防止中心内容溢出边界的一些潜在替代方法:

  1. 手动设置在中心节点上以防止其溢出边界.
  2. 在上面链接的ImageViewPane中,动态调整ImageView>.
  3. 将ImageView放在 a>.
  4. 使用 css -fx-background-图像属性要显示和动态调整图像大小,而不是使用ImageView.
  5. 在设置边框内容之前先设置边界奶奶的中心,这样,它将在边界内容下方渲染.
  6. 使用来自BorderPane的不同构造(例如,Hboxes,Vbox等),当节点大于可用的显示区域时不会重叠它们的节点.

我尝试了:imageView.fitWidthProperty().bind(box.widthProperty());

我从提供的代码中猜测这是不起作用的,因为图像的封闭框是某种动态解析的窗格,因此盒子的最小宽度是由图像的宽度而不是,而不是反之亦然

以上所述是小编给大家介绍的JavaFx图像大小的调整,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34134.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。