我有一个Button带文本和一个ImageViewas 图标。图像可能具有任何分辨率。目前,按钮会调整其大小以适应图像,例如,如果图像是 400x400,则按钮会很大,而旁边的文本会很小。不过,我想要的是适合按钮的图像。它应该始终与文本一样高。ImageView img = new ImageView(image);button = new Button("Some text", img);button.setStyle("-fx-background-radius: 6em;");
2 回答
![?](http://img1.sycdn.imooc.com/5458464a00013eb602200220-100-100.jpg)
侃侃无极
TA贡献2051条经验 获得超10个赞
没想到解决方案如此简单:
img.setPreserveRatio(true);
img.setFitHeight(button.getFont().getSize());
对我有用。JavaFX 有时非常不直观。如果字体大小可能发生变化(例如通过 CSS 样式),请改用绑定:
img.fitHeightProperty().bind(Bindings.createDoubleBinding(() -> button.getFont().getSize(), button.fontProperty()));
分享
添加回答
举报
0/150
提交
取消