2016-12-12 23 views
1

私はテキストエディタで作業していますが、私の次の目標は書かれたテキストをプリンタ(sysoutではなく)に印刷することです。JAVA - 改行を含む文字列を印刷

何度も試してみましたが効果はありましたが、改行は無視されました。

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

新しいグラフィックスを作成してフォントを設定しました。 それから、エディタウィンドウに書き込まれたテキストを取り出しました。 iPosX & iPOSYは用紙の測定値です。

改行を考慮して文字列全体をどのように印刷することができますか?

多くの方に感謝します!

答えて

0

明らかに、drawString()メソッドは改行を処理しません。改行で文字列を分割し、各行を新しい行に別々に印刷することで、これを解決できます。このように使用するカスタムメソッドを作成することができます:

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()); 
    } 
} 

希望します!

+0

ありがとう、あなた!非常に役立ちます!!! – phdz07

関連する問題