JAVA - 包含换行符的打印字符串

时间:2016-12-12 19:13:35

标签: java printing graphics line-breaks

我正在编写文本编辑器,我的下一个目标是在打印机上打印书面文本(而非sysout)。

我尝试了很多次并且它有效,但是换行被忽略了。

Graphics pg = prjob.getGraphics();
            pg.setFont(textFont);
            pg.drawString(window.getText(), iPosX, iPosY);
            pg.dispose();

我创建了一个新图形并设置了字体。 然后我把写入我编辑窗口的文本。 iPosX& iPosY是纸张的衡量标准。

考虑到换行符,你们有什么想法我可以打印整个字符串吗?

非常感谢先进!

1 个答案:

答案 0 :(得分:0)

显然,drawString()方法不处理换行符。您可以通过在换行符上拆分String并在新行上单独打印每一行来解决此问题。您可以创建一个自定义方法,如下所示:

void drawString(Graphics g, String text, int x, int y) {
    String splittedText = text.split("\n");
    for (String line : splittedText) {
        g.drawString(line, x, y += g.getFontMetrics().getHeight());
    }
}

希望它有所帮助!