带有drawString()的Java- textwrap

时间:2015-03-07 21:11:56

标签: java graphics

java.awt.Graphics.drawString()的常规语法包括定义字符串的X和Y坐标。我想绘制一个具有宽度和高度属性的字符串用于文本换行。有没有办法为你想要绘制的字符串指定java.awt.Rectangle?我是否必须写一些东西来决定自动换行应该切断它的位置还是更简单的方法? 谢谢!

2 个答案:

答案 0 :(得分:0)

我认为没有内置的方法可以做到这一点,但是你可以实现自己的包装,如果你得到字符串的宽度,如下所示:

FontMetrics fontMetrics = new FontMetrics(Graphics.getFont());
int width = fontMetrics.stringWidth("Potentially needs wrapping");

然后根据需要将消息拆分为多个字符串。

答案 1 :(得分:0)

这实际上有点复杂且有点复杂,但实质上,您需要使用LineBreakMeasurer类来帮助您根据可用宽度将文本分解为可管理的块

有关详情和示例,请参阅Drawing Multiple Lines of Text