Graphics2D.drawString 中的换行符问题
g2
是Graphics2D
类的实例。我希望能够绘制多行文本,但这需要换行符。以下代码在一行中呈现。
String newline = System.getProperty("line.separator");
g2.drawString("part1\r\n" + newline + "part2", x, y);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
drawString
方法不处理换行符。您必须自己将字符串拆分为换行符,并以适当的垂直偏移量逐条绘制线条:
这是一个完整的示例,可以为您提供想法:
它给出以下结果:
The
drawString
method does not handle new-lines.You'll have to split the string on new-line characters yourself and draw the lines one by one with a proper vertical offset:
Here is a complete example to give you the idea:
which gives the following result:
我刚刚制作了一种通过给出线宽来自动绘制长文本分割的方法。
I just made a method to draw long text spliting automaticaly by giving the line width.
这是我用来在带有选项卡扩展和多行的
JPanel
中绘制文本的片段:它确实看起来像
Utilities.drawTabbedText()
很有前途,但我无法弄清楚它需要什么作为输入。Here's a snippet I used to draw text in a
JPanel
with tab expansion and multiple lines:It really seemed like
Utilities.drawTabbedText()
was promising, but I couldn't figure out what it needed as input.