2010-11-24 106 views
6

任何人都可以告訴我如何在Java 2d中正確使用文本嗎?將文本與Java圖形2d對齊

下面是代碼,它繪製了一列左邊自然對齊的文本。

Font yFont = new Font("Arial", Font.BOLD, 13); 

interval = 0; 

g2d.setFont(yFont); 
for (String l : binLabels) { 
    g2d.drawString(l, 0, (135 + interval)); 
    interval = interval + 15; 
} 

讓我瘋狂。 感謝你們

slothishtype

回答

13

在你的paintComponent()方法,你可以使用的FontMetrics得到你想要畫的字符串的寬度:

FontMetrics fm = getFontMetrics(getFont()); 
int width = fm.stringWidth("your string here"); 

然後你計算偏移哪裏根據組件的寬度開始繪畫。

問題是你爲什麼要這麼做。您可以使用JLabel並將其對齊設置爲右側。

+0

很酷,謝謝...讓我重溫一下jLabel ...... – slotishtype 2010-11-24 16:53:50