我正在尋找FontLoader.computeStringWidth的替代方案,因爲這是com.sun包中的類,不應使用。FontLoader的替代方案computeStringWidth
這是用來根據文本動態設置prefWidth以考慮文本字體大小(可能來自CSS)。有多個GridPane我想要第一列與所有網格對齊。
例如
從這:
| Column1Text | Column2 |
| Column1TextMore | Column2 |
| Column1TextSomeMore | Column2 |
對此(無視點):
| Column1Text ................. | Column2 |
| Column1TextMore ......... | Column2 |
| Column1TextSomeMore | Column2 |
我在這裏找到了一個可以接受的答案,那就是創建一個臨時場景,給它添加一個文本,然後調用applyCss並最終獲得寬度。不過我不喜歡這個選擇。必須是更好的方法。 https://stackoverflow.com/a/13020490/1835477
在我的情況下,我有多個網格,並且爲每個網格創建一個場景/文本看起來像一個糟糕的解決方案(性能明智),並不特別優雅。
無關:在FX9,該方法已移至別處... – kleopatra
如果你的目標是要設置首選大小,不會使用['USE_COMPUTED_SIZE'](HTTPS ://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Region.html#USE_COMPUTED_SIZE)的工作原理是什麼? – Itai