Bastava fare al posto di:
1) Ho creato una classe contenente un pannello e che implementa la classe Printable. Nel pannello ho inserito un pulsante "Stampa", al quale ho associato il seguente evento:
codice:PrintJob stamp = Toolkit.getDefaultToolkit().getPrintJob(new NewFatt(),"Stampa",null); printAll(stamp.getGraphics()); stamp.end();dove ho impostato il numero di copie a due ed è possibile anche impostare l'orientamento della pagina in orizzontale, mettendo la riga di codice:codice:PrinterJob job = PrinterJob.getPrinterJob(); PageFormat pageFormat = new PageFormat(); Paper paper = new Paper(); paper.setSize(597.6, 842.4); paper.setImageableArea(0, 0, 597.6, 842.4); pageFormat.setPaper( paper ); job.setCopies(2); pageFormat = job.validatePage( pageFormat ); job.setPrintable( this, pageFormat ); if (job.printDialog()) { try { job.print(); } catch (Exception ex) { System.out.println(ex); } }
Invece per quanto concerne il metodo print:codice:pageFormat.setOrientation(PageFormat.LANDSCAPE);
Speriamo che possa servire a qualcuno.codice:public int print(Graphics g, PageFormat pf, int pi) throws PrinterException { if (pi > 0) { return Printable.NO_SUCH_PAGE; } this.paint(g); return Printable.PAGE_EXISTS; }
Ciao

Rispondi quotando