2016-12-12 1 views
1

Ich arbeite an einem Texteditor und mein nächstes Ziel ist es, den geschriebenen Text auf einem Drucker (nicht Sysout) zu drucken.JAVA - Print String mit Zeilenumbrüchen

Ich habe es oft versucht und es hat funktioniert, aber die Zeilenumbrüche wurden ignoriert.

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

Ich habe eine neue Grafik erstellt und die Schriftart festgelegt. Dann nahm ich den Text, der in mein Editorfenster geschrieben wurde. iPosX & iPosY sind die Maße des Papiers.

Haben Sie irgendwelche Ideen, wie ich die ganze Schnur unter Berücksichtigung der Zeilenumbrüche drucken kann?

Vielen Dank im Voraus!

Antwort

0

Offenbar behandelt drawString() Methode Zeilenumbrüche nicht. Sie können dies lösen, indem Sie die Zeichenfolge bei Zeilenumbrüchen aufteilen und jede Zeile einzeln in einer neuen Zeile drucken. Sie können eine benutzerdefinierte Methode wie diese verwenden:

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

Ich hoffe, es hilft!

+0

Danke Mann! Sehr hilfreich!!! – phdz07

Verwandte Themen