我希望能夠按百分比動態更改 TextArea 中的字體大小。介于 25% - 225% 之間。最終,此設定將從組態檔中加載。
FXML 中的當前代碼:
<TextArea fx:id="txtDescription" layoutY="25.0" prefHeight="471.0" prefWidth="1036.0" />
CSS中的當前代碼:
.text-area { -fx-font-size: 25; }
在 MainController.class 我已經匯入了參考
@FXML private TextArea txtDescription;
但是,如果我嘗試以簡單的方式檢索如下資訊,我什么也得不到...
System.out.println("Get Style: " txtDescription.getStyle()); System.out.println("Get StyleNode: " txtDescription.getStyleableNode());
您需要采取哪些步驟來動態更改字體大小?
uj5u.com熱心網友回復:
爪哇
double initialSize = 16.0; // 100% size
Slider slider = new Slider(25, 225, 100);
slider.valueProperty().addListener((observable,oldValue,newValue) -> {
double fromPercent = (initialSize * newValue) / 100
txtDescription.setStyle("-fx-font-size:" (int) fromPercent);
});
獲取字體大小
txtDescription.getFont().getSize();
對于沒有重寫樣式的更改
Font oldFont = txtDescription.getFont();
Font newFontSize = new Font(txtDescription.getName(), newSize);
txtDescription.setFont(newFontSize);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/512282.html
