ho guardato un pò in giro e ho trovato il seguente codice... premetto che non capisco cosa fa.. ma sembra funzionare.
ho due richieste? qualcuno mi riesce a spiegare cosa fa , o meglio come avviene l'impostazione della pagina?
secondo: ho il seguente problema, devo stampare un pannello1, di seguiti una jtable, e di seguito un altro pannello2.. come si fa? io ho provato a inviargli il pannello che contiente pannello1+table+pannello2. ma quando la table ha lo scrollpane me la taglia...
grazie
codice:job = PrinterJob.getPrinterJob(); PageFormat format = job.defaultPage(); float pageWidth = MediaSize.ISO.A4.getX(MediaSize.INCH) * 72; float pageHeight = MediaSize.ISO.A4.getY(MediaSize.INCH) * 72; float margin = (1 / 2.54f) * 72; //1cm float margin2 = (1 / 40.08f) * 72; Paper paper = new Paper(); paper.setSize(pageWidth, pageHeight); paper.setImageableArea(margin, margin2, pageWidth - 2 * margin, pageHeight - 2 * margin); format.setPaper(paper); format = job.validatePage(format); if(job.printDialog()) { try { job.setPrintable(new printAction(east), format); job.print(); } catch(PrinterException pe) { JOptionPane.showMessageDialog(this, "Errore"); } }codice:public class printAction implements Printable { Component toPrint = null; public printAction(Component toPrint) { this.toPrint = toPrint; } public int print(Graphics g, PageFormat pageFormat, int pageIndex) { if(pageIndex > 0) { return NO_SUCH_PAGE; } else { Graphics2D g2d = (Graphics2D)g; g2d.scale(0.52,0.48); toPrint.printAll(g2d); return PAGE_EXISTS; } } }

Rispondi quotando