如何在JavaFX中计算字符串的像素宽度?

在Java FX 2.2中似乎没有API调用来计算文本字符串的宽度(以像素为单位)。在其他论坛上也有解决方法的建议,但是我创建或查找使用默认字体或其他方式返回String宽度的任何代码的工作都失败了。任何帮助,将不胜感激。



慕少森
浏览 1228回答 3
3回答

拉莫斯之舞

该解决方案在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版本中不可用!

芜湖不芜

我尝试了这个:Text theText = new Text(theLabel.getText());theText.setFont(theLabel.getFont());double width = theText.getBoundsInLocal().getWidth();而且似乎工作正常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java