heiys
heiys
关注数: 0
粉丝数: 4
发帖数: 17
关注贴吧数: 1
一个JAVA打印程序的问题 PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();//设置打印格式,因为未确定文件类型,这里选择AUTOSENSEDocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;//查找所有的可用打印服务PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);//定位默认的打印服务PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();//显示打印对话框PrintService service = ServiceUI.printDialog(null, 200, 200, printService, defaultService, flavor, pras);if (service != null){try {DocPrintJob job = service.createPrintJob(); //创建打印作业FileInputStream fis = new FileInputStream("d:\\qq.txt"); //构造待打印的文件流DocAttributeSet das = new HashDocAttributeSet();Doc doc = new SimpleDoc(fis, flavor, das); //建立打印文件格式job.print(doc, pras); //进行文件的打印}catch(Exception e) {e.printStackTrace();}}这个程序执行后总是报:Exception in thread "main" java.lang.IllegalArgumentException: services must be non-null and non-emptyat javax.print.ServiceUI.printDialog(ServiceUI.java:146)at Test.printFileAction(Test.java:39)at Test.main(Test.java:93)跟了后发现是PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);的问题,好像为空,请高手告诉我怎么修改,万分感谢
1
下一页