【问题标题】:JAVA - Print String with line breaksJAVA - 打印带有换行符的字符串
【发布时间】:2016-12-12 19:13:34
【问题描述】:

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

我尝试了很多次,它成功了,但换行符被忽略了。

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

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

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

非常感谢您!

【问题讨论】:

    标签: java printing graphics line-breaks


    【解决方案1】:

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

    private void drawString(Graphics g, String text, int x, int y) {
        String[] splittedText = text.split("\n");
        for (int i = 0; i < splittedText.length; i++) {
            String line = splittedText[i];
            g.drawString(line, x, y + (g.getFontMetrics().getHeight() * i));
        }
    }
    

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-15
      相关资源
      最近更新 更多