tengo este codigo
Código:
que me imprimi un jpanel.. por medio de printerjob... lo que me gustaria hacer es ... podes obtener un listener de eventos.. es decir.. que me diga.. cuando se esta enviando un trabajo, cuando se esta imprimiendo, cuando termino, si hay atascos y ademas si la impresora esta activa... todo esto lo logre por medio de printJob.. pero.. no pude imprimir el jpanel con ese metodo.. private void Imprimir() { PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); String printName = "Brother QL-570 LE"; //String printName="PDFCreator"; if (services.length > 0) { try { PrintService myService = null; int hayImpresora = 0; for (PrintService service : services) { //System.out.println(service.getName()); if (service.getName().equals(printName)) { myService = service; hayImpresora = 1; break; } } if (hayImpresora == 0) { JOptionPane.showMessageDialog(null, "No se Encontro la Impresora: " + printName); //System.exit(0); } // myService.addPrintServiceAttributeListener(new MyPrintServiceAttributeListener()); PrinterJob job = PrinterJob.getPrinterJob(); job.getPrintService().addPrintServiceAttributeListener(null); PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); aset.add(OrientationRequested.LANDSCAPE); aset.add(new MediaPrintableArea(2, 2, 29, 90, MediaPrintableArea.MM)); job.setPrintService(myService); job.setPrintable(this); job.print(aset); } catch (PrinterException ex) { Logger.getLogger(dialogImprmirEtiqueta.class.getName()).log(Level.SEVERE, null, ex); } } }
lo que necesitaria.. seria sacar los eventos.. del printerjob o bien imprimir el panel con printJob..
desde ya muchas gracias