si in effetti hai ragione.
allora, ho fatto un pò di pulizia, ma adesso escono solo pagine bianche:
e passo l'array così:codice:public class PrintImage implements Printable { private BufferedImage[] images; public PrintImage(BufferedImage[] images) { this.images = images; } @Override public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException { if (pageIndex < images.length) { graphics.drawImage(images[pageIndex], 0, 0, images[pageIndex].getWidth(), images[pageIndex].getHeight(), null); return PAGE_EXISTS; } else { return NO_SUCH_PAGE; } } }
codice:int lvSize = listViewImages.getItems().size(); if (lvSize > 0) { ArrayList<String> lp = new ArrayList<>(listViewImages.getItems()); BufferedImage[] bufferedImages = new BufferedImage[lp.size()]; for (int i = 0; i < lp.size(); i++) { Image image = new Image(new File(lp.get(i)).toURI().toString()); bufferedImages[i] = SwingFXUtils.fromFXImage(image, null); } PrinterJob pj = PrinterJob.getPrinterJob(); pj.setPrintable(new PrintImage(bufferedImages)); if (pj.printDialog()) { try { pj.print(); } catch (PrinterException e) { GenericDialog.showDialog(e.getMessage(), Alert.AlertType.ERROR); } } }

Rispondi quotando