preciso che ho copiato qua e là sui forum, ma non ci capisco molto...
posto tutto il codice che uso


codice:
if(bottone==stampa){
			job = PrinterJob.getPrinterJob();
			PageFormat pf = job.defaultPage();
			if (job.printDialog())
			{
				try {
			     	job.setPrintable(new PrintAction(east));
			        job.print();
			    } catch(PrinterException pe) {
			        JOptionPane.showMessageDialog(this, "Errore");
			    }
			 }	
		}
codice:
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.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
	 			toPrint.printAll(g2d);
	 			return PAGE_EXISTS;
	 		}
	 	}
	 }
ecco questo è quello che ho fatto. east è il pannello da stampare.

io non capisco anche un altra cosa: imposto come predefinita la "stampante" pdf e l'a4 me lo stampa bene. se invece imposto come predefinita la stampante epr gli scontrini mi stampa solo una parte del pannello. me ne stampa una parte anche su pdf.