为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

3 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

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


查看完整回答
1 反对 回复 2019-11-18
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

我尝试了这个:


Text theText = new Text(theLabel.getText());

theText.setFont(theLabel.getFont());

double width = theText.getBoundsInLocal().getWidth();

而且似乎工作正常。


查看完整回答
反对 回复 2019-11-18
  • 3 回答
  • 0 关注
  • 1167 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信