将文本与Java Graphics 2d对齐

slo*_*ype 6 java 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;
}
Run Code Online (Sandbox Code Playgroud)

快把我逼疯了.谢谢你们

slothishtype

cam*_*ckr 13

在paintComponent()方法中,您可以使用FontMetrics来获取要绘制的字符串的宽度:

FontMetrics fm = getFontMetrics( getFont() );
int width = fm.stringWidth("your string here");
Run Code Online (Sandbox Code Playgroud)

然后根据组件的宽度计算开始绘制的偏移位置.

问题是你为什么要这样做.您可以使用JLabel并将其对齐设置为右侧.