java - 使图像与文字一样高
问题描述
我有一个Button
带文本和一个ImageView
as 图标。图像可能具有任何分辨率。目前,按钮会调整其大小以适应图像,例如,如果图像是 400x400,则按钮会很大,而旁边的文本会很小。
不过,我想要的是适合按钮的图像。它应该始终与文本一样高。
ImageView img = new ImageView(image);
button = new Button("Some text", img);
button.setStyle("-fx-background-radius: 6em;");
解决方案
没想到解决方案如此简单:
img.setPreserveRatio(true);
img.setFitHeight(button.getFont().getSize());
对我有用。JavaFX 有时非常不直观。如果字体大小可能发生变化(例如通过 CSS 样式),请改用绑定:
img.fitHeightProperty().bind(Bindings.createDoubleBinding(() -> button.getFont().getSize(), button.fontProperty()));
推荐阅读
- google-cloud-platform - 有什么方法可以利用 Cloud Function auth env vars 与 Google Drive 交互?
- pandas - 有没有更快的方法来使用 pandas 连接巨大的数据帧(40GB)
- docker - Google App Engine:为 Scrapy + Splash 加载另一个 Docker 映像
- reactjs - Material-ui - 树状视图 展开全部
- excel - 使用 VBA 在 Excel 2016 中自定义功能区
- python - 转义字符串中的十六进制字符
- android - 如何在不可见编辑器/场景/播放器的情况下在 Unity 中渲染?
- javascript - 表单提交后的jQuery .on('click)不再分配
- c# - 重定向内部网络中的外部 http 连接
- inno-setup - Inno Setup - 自动生成选项以允许用户选择要安装的文件