谁能告诉我如何在 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;
}
快把我逼疯了。 谢谢大家
懒惰型
最佳答案
在您的 paintComponent() 方法中,您可以使用 FontMetrics 来获取要绘制的字符串的宽度:
FontMetrics fm = getFontMetrics( getFont() );
int width = fm.stringWidth("your string here");
然后根据组件的宽度计算开始绘制的偏移量。
问题是你为什么要这样做。您可以只使用 JLabel 并将其设置为右对齐。
关于java - 将文本与 Java Graphics 2d 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269200/