我在做一个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(屏幕)中显示为正常,但是打印的时候矩形框比字符要宽一写,或者说字符短了一些,而当字体为正常的时候,或者斜体的时候就没有问题,求教其原因如何改写
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(屏幕)中显示为正常,但是打印的时候矩形框比字符要宽一写,或者说字符短了一些,而当字体为正常的时候,或者斜体的时候就没有问题,求教其原因如何改写
况且,屏幕显示时还有“消除锯齿”“光滑字体边角”等设置,和打印时怎么可能完全一样呢?