Это код, который у меня сейчас есть:
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex)
throws PrinterException
{
if(pageIndex > 0)
{
return NO_SUCH_PAGE;
}
Graphics2D g2d = (Graphics2D)graphics;
g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
String lineText;
int lineSpace = 12;
//Draw out each seperate line.
for(int i = 0; i < storyText.length; i++)
{
//I split the text at "\n" and stored the lines in storyText.
lineText = storyText[i];
lineSpace += 15;
graphics.drawString(lineText, 0, lineSpace);
//What about g2d? Could or should I use that instead?
//g2d.drawString(lineText, 0, lineSpace);
}
return PAGE_EXISTS;
}
Это рисует линию, затем перемещается вниз на несколько пробелов (не уверен, какие единицы измерения используются), затем рисует следующую линию.Это работает, но проблема в том, что по горизонтали текст съедается с поля слева.
У кого-нибудь есть решение этой проблемы?Я только недавно начал возиться с печатью на страницах с Java.Должен ли я вставить символ новой строки в тексте, чтобы нарисовать более короткую строку текста?Как бы я выяснил, когда вставить символ новой строки?
Или я просто все делаю неправильно?Может быть, другой подход?