if (printStr != null && printStr.length() > 0) //当打印内容不为空时
{
PAGES = getPagesCount(printStr); //获取打印总页数
PrinterJob myPrtJob = PrinterJob.getPrinterJob(); //获取默认打印作业
PageFormat pageFormat = myPrtJob.defaultPage(); //获取默认打印页面格式
myPrtJob.setPrintable(this, pageFormat); //设置打印工作
if (myPrtJob.printDialog()) //显示打印对话框
{
try {
myPrtJob.print(); //进行每一页的具体打印操作
}
catch(PrinterException pe) {
pe.printStackTrace();
}
}
}
else { //如果打印内容为空时,提示用户打印将取消
JOptionPane.showConfirmDialog(null, "Sorry, Printer Job is Empty, Print Cancelled!", "Empty", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);
}
}
以jdk1.4新版本提供的API实现打印动作按钮监听,并完成具体的打印操作
private void printText2Action() {
printFlag = 0; //打印标志清零
printStr = area.getText().trim();//获取需要打印的目标文本
if (printStr != null && printStr.length() > 0) //当打印内容不为空时
{
PAGES = getPagesCount(printStr); //获取打印总页数
//指定打印输出格式
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PRINTABLE;
//定位默认的打印服务
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
//创建打印作业
DocPrintJob job = printService.createPrintJob();
//设置打印属性
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
DocAttributeSet das = new HashDocAttributeSet();
//指定打印内容
Doc doc = new SimpleDoc(this, flavor, das);
//不显示打印对话框,直接进行打印工作
try {
job.print(doc, pras); //进行每一页的具体打印操作
}
catch(PrintException pe) {
pe.printStackTrace();
}
}
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。