【发布时间】:2011-11-30 01:43:20
【问题描述】:
这是我现在的代码:
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 打印到页面。我应该在文本中插入换行符以绘制较短的文本行吗?我如何确定何时插入换行符?
或者我只是做错了?也许是不同的方法?
【问题讨论】:
标签: java printing word-wrap graphics2d