我有一個(gè)Button帶文本和一個(gè)ImageViewas 圖標(biāo)。圖像可能具有任何分辨率。目前,按鈕會(huì)調(diào)整其大小以適應(yīng)圖像,例如,如果圖像是 400x400,則按鈕會(huì)很大,而旁邊的文本會(huì)很小。不過,我想要的是適合按鈕的圖像。它應(yīng)該始終與文本一樣高。ImageView img = new ImageView(image);button = new Button("Some text", img);button.setStyle("-fx-background-radius: 6em;");
2 回答

侃侃無(wú)極
TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
沒想到解決方案如此簡(jiǎn)單:
img.setPreserveRatio(true);
img.setFitHeight(button.getFont().getSize());
對(duì)我有用。JavaFX 有時(shí)非常不直觀。如果字體大小可能發(fā)生變化(例如通過 CSS 樣式),請(qǐng)改用綁定:
img.fitHeightProperty().bind(Bindings.createDoubleBinding(() -> button.getFont().getSize(), button.fontProperty()));
分享
添加回答
舉報(bào)
0/150
提交
取消