我在做一个java的打印程序,在屏幕上显示和打印调用同一个drawpage()方法首先把字体设置宋体,加粗,36磅:  
String  message="你好";  
Font  f=new  Font("宋体",Font.BOLD,36);  
Graphics2D  g2=(Graphics2D)g;  
g2.setFont(f);  
g2.drawString(message,x,y);  
Rectangle2D  rect=new  Rectangle2D.Double(x,y,message.getStringBounds().getwidth(),message.getStringBounds().getHeight());      
g2.draw(rect);  
   在JPanel(屏幕)中显示为正常,但是打印的时候矩形框比字符要宽一写,或者说字符短了一些,而当字体为正常的时候,或者斜体的时候就没有问题,求教其原因如何改写