2016-11-10 99 views
0

我正在使用JavaFX来生成我的音乐文档的位图预览。在JavaFX中获取文本边界

在某些点上,在绘画过程中,我需要知道给定字符串的尺寸。

高达现在,我已经使用了以下内容:

bounds = TextBuilder.create().text(string).font(m_Font).build().getLayoutBounds(); 

然而,日食告诉我,这是贬值。它太折旧了,边界对象是空的(全部设置为零)。

现在我该如何获得单行字符串的边界 - 宽度和高度?

请注意,有没有屏幕控制被用来显示这个东西。所有内容都会在内存中生成并“转储”到png位图中。

我已经在网上搜索,并没有找到答案(或我完全错过了)。

是否有专家帮助?

+1

'getLayoutBounds()'不被弃用,'TextBuilder'是。我找不到任何其他用法的建议,但似乎可以直接创建一个“Text”对象,并将其称为各种setter()setFont()等。 – Michael

回答

1

正如我在我的评论中提到的,getLayoutBounds()未被弃用,并且完全有效。这只是建设者不赞成的。

这么说,我已经创建了生产看似正确的输出,它使用的建设者和直接创建对象以下测试应用:

​​

输出:

15.9609375, 25.91015625 
15.9609375, 51.01171875 

15.9609375, 25.91015625 
15.9609375, 51.01171875 

0.0, 0.0 
26.6015625, 85.01953125 

我推测,你的字体是搞砸,可能大小设置为零或其他一些错误。

+0

谢谢,您的怀疑是有根据的。 – Simon