如何使用“\ n”在新行上打印文本

时间:2013-12-18 09:27:28

标签: java

我尝试按照我想要的格式创建一个大的String并使用PrinterJob类打印它。这是String的代码:

String bigtext = "The name\n" + "some another text";
Graphics2D's_object.drawString(bigtext, 50, 50);

但它在一行中打印为"The name some another text""\n"不起作用,而我想在另一行打印"some another text"

P.S。我尝试在打印机中打印bigtext。

已解决:以下是解决方案:Problems with newline in Graphics2D.drawString。 (经过长时间的麻烦:))

3 个答案:

答案 0 :(得分:1)

换行符\n不是某些操作系统中使用\r\n的行分隔符。另外,我建议使用StringBuilder而不是+

修改:您也可以使用System.getProperty("line.separator");

答案 1 :(得分:1)

昨天被问到类似的question,这有助于:

您遇到的问题是因为“行分隔符”是您难以编码的。最好将System的行分隔符设置为:

System.getProperty("line.separator");

这样你的代码就像这样:

   String lineseparator=System.getProperty("line.separator");
   // I'd suggest putting this as a class variable, so that it only gets called once
   // rather than everytime you call the addLine() method

  String bigtext = "The name" + lineseparator + "some another text";

 //If you wanted an empty line in between them, then add the lineseparator twice
  String bigtext = "The name" + lineseparator + lineseparator + "some another text";

答案 2 :(得分:1)

似乎大多数人都不明白这个问题。我尝试过PrinterJob,它对我来说也不起作用。

我找到了一个解决方案,但未经过验证:

How to print strings with line breaks in java