2016-11-10 95 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