我正在寻找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