qiyongjun你好,谢谢你好回答,可我还是不太明白,你能帮我说明白一些吗?谢谢!
你的这句话不明白"最好设定为用户可以自己按照自己的打印机驱动来选择打印方式"
你指的是不是这句话"printerJob.printDialog();" 呢?有一个对话框来设置打印呢?
我的打印程序是这样子设置的,
//开始打印
public void doPrint()
{
printerJob.setPageable(myPageable);//打印的内容
if(printerJob.printDialog())//打印对话框
{
try
{
printerJob.print();//调用下面的print()去打印
}
catch(Exception e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(this,"打印出错","错误",JOptionPane.ERROR_MESSAGE);
return;
}
}
public int print(Graphics g,PageFormat pageFormat,int pages)throws PrinterException
{
if(pages>pageRange)
return NO_SUCH_PAGE;
int x = (int)pageFormat.getImageableX() + 1;
int y = (int)pageFormat.getImageableY() + 1;
g.translate(x,y);
RepaintManager currentManager = RepaintManager.currentManager(this);
currentManager.setDoubleBufferingEnabled(false);
this.paint(g);
currentManager.setDoubleBufferingEnabled(true);
return(PAGE_EXISTS); } 在打印第二页数据的时候,它会空出半页纸,才开始打印,它要到第三页纸的时候才打印完第二页的数据,第三页纸的下半页,也会空出来.会在第四页纸的时候才开始打印第三页的数据.第四页纸能很好的把第三页的数据打印出来.在激光打印机上没有这样的问题出现呀,你说奇怪不奇怪.请你指点,在此谢过!
}
你的这句话不明白"最好设定为用户可以自己按照自己的打印机驱动来选择打印方式"
你指的是不是这句话"printerJob.printDialog();" 呢?有一个对话框来设置打印呢?
我的打印程序是这样子设置的,
//开始打印
public void doPrint()
{
printerJob.setPageable(myPageable);//打印的内容
if(printerJob.printDialog())//打印对话框
{
try
{
printerJob.print();//调用下面的print()去打印
}
catch(Exception e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(this,"打印出错","错误",JOptionPane.ERROR_MESSAGE);
return;
}
}
public int print(Graphics g,PageFormat pageFormat,int pages)throws PrinterException
{
if(pages>pageRange)
return NO_SUCH_PAGE;
int x = (int)pageFormat.getImageableX() + 1;
int y = (int)pageFormat.getImageableY() + 1;
g.translate(x,y);
RepaintManager currentManager = RepaintManager.currentManager(this);
currentManager.setDoubleBufferingEnabled(false);
this.paint(g);
currentManager.setDoubleBufferingEnabled(true);
return(PAGE_EXISTS); } 在打印第二页数据的时候,它会空出半页纸,才开始打印,它要到第三页纸的时候才打印完第二页的数据,第三页纸的下半页,也会空出来.会在第四页纸的时候才开始打印第三页的数据.第四页纸能很好的把第三页的数据打印出来.在激光打印机上没有这样的问题出现呀,你说奇怪不奇怪.请你指点,在此谢过!
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货