在Java FX 2.2中似乎没有API调用来计算文本字符串的宽度(以像素为单位)。在其他论坛上已经有了解决办法的建议,但我创建或查找任何返回字符串宽度的代码的努力都失败了,无论是使用默认字体还是其他方式。任何帮助都将不胜感激。
发布于 2014-01-24 00:57:30
这个解决方案一直持续到java 8:
float width = com.sun.javafx.tk.Toolkit.getToolkit().getFontLoader().computeStringWidth("", gc.getFont());
float height = com.sun.javafx.tk.Toolkit.getToolkit().getFontLoader().getFontMetrics(gc.getFont()).getLineHeight();
这些类已经被移除,并且在较新的java版本中不可用!
发布于 2016-12-26 11:27:11
我试过这个:
Text theText = new Text(theLabel.getText());
theText.setFont(theLabel.getFont());
double width = theText.getBoundsInLocal().getWidth();
而且它似乎运行得很好。
https://stackoverflow.com/questions/13015698
复制相似问题