大侠救救我吧!!!送分啦!!!!
我用JAVA地Printable设计打印报表时发现打印在报表上的两个数字或两个空格
的长度要略大于一个汉字的长度,这样导致报表不对齐,怎样解决??????????
和字体设置有关系吗????????????
private void drawCurrentPageText(Graphics2D g2, PageFormat pf, int page)
{
//Font f = area.getFont();
Font f = new Font("Dialog",0,12);
//Font f = new Font("Serif",0,12);
String s = getDrawText(printStr)[page];
String drawText;
float ascent = 16;
int k, i = f.getSize(), lines = 0;
while(s.length() > 0 && lines < 54)
{
k = s.indexOf('\n');
if (k != -1)
{
lines += 1;
drawText = s.substring(0, k);
g2.drawString(drawText, 0, ascent);
if (s.substring(k + 1).length() > 0)
{
//area.append("\nascent="+ascent+"i="+i);
s = s.substring(k + 1);
ascent += i;
}
}
else
{
lines += 1;
drawText = s;
g2.drawString(drawText, 0, ascent);
s = "";
}
}
}