函數drawString(...)沒有任何類似的「錨」,我可以把x和y放在文本的中心。我知道我可以手動完成,而且我也不想使用JTextArea或JLabels。是否有可能以一種明智的方式做到這一點,或無法做到這一點?如何在沒有上訴的情況下將文本與Graphics2D對齊?
謝謝。
函數drawString(...)沒有任何類似的「錨」,我可以把x和y放在文本的中心。我知道我可以手動完成,而且我也不想使用JTextArea或JLabels。是否有可能以一種明智的方式做到這一點,或無法做到這一點?如何在沒有上訴的情況下將文本與Graphics2D對齊?
謝謝。
TextLayout
提供了一些便利。這是一個example。
從Graphics對象獲取FontMetrics()
,並使用getStringBounds()
獲取文本的圖像大小。從那裏你可以找出x和y應該是什麼來定位文本,無論你想要的。
這是不那麼聰明的方式,或者,正如我所說的,「手動」。這是呼籲! :)但沒關係,我認爲這是唯一不錯的解決方案。不管怎麼說,還是要謝謝你! – 2011-03-16 02:22:18
@Felipe Micaroni Lalli「這是非常聰明的方式,或者正如我所說的,」手動「。」是的,這是一個可悲的事實,有時程序員實際上需要編程,而不是簡單地調用voodoo API。 –
2011-03-16 04:46:34
@Andrew +1 :) 雖然我記得我在MSDOS下編程GUI時,可以指定給定的座標是在X/Y方向上居中還是左/右對齊。我猜Java曾經讓我們以某種方式懶惰:) – Matthieu 2012-12-02 16:59:51