java - 将文本与 Java Graphics 2d 对齐

标签 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;
}

快把我逼疯了。 谢谢大家

懒惰型

最佳答案

在您的 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/

相关文章:

java - 检查LinkedList是否是子列表

Java 矩形问题

java - 用图形 (java.awt.Graphics) 填充三个点 (java.awt.Point) 之间的区域

java - 是否可以检测窗口遮挡

flash - 用于通过 Java2D 呈现矢量图形格式的开源库?

java - 发布请求Json,代码已完成但不起作用

JAVA SQLite : Error Bad Request Field

java - 当 Jlabel 添加到 JButton 之前时如何阻止 JButton 改变位置

java - Juddi 发布和查找服务

java - Swing 油漆问题