這是代碼我現在有:打印文本在Java中一個頁面的Graphics2D
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的頁面。我應該在文本中插入一個換行符來繪製一段較短的文本嗎?我將如何確定何時插入換行符?
還是我只是做這一切都錯了?也許有不同的方法?