salve ragazzi ho questo problema devo stampare un frame che contiene un pannello con delle immagini e del testo

premo il pulsante stampa
codice:
//Stampa Cliente
		buttonStampaCliente.addActionListener(new ActionListener() {
			
			@Override
				public void actionPerformed(ActionEvent arg0) {
					
					//TODO non mi piace vuole gestita meglio dagli un okkiata domani
					FramePreview framePreview=new FramePreview(gestore);

					PrinterJob pj = PrinterJob.getPrinterJob();
					PageFormat format = pj.defaultPage();
					//PageFormat format = pj.pageDialog(pj.defaultPage());
					
					//inverto le dimensioni perchè stampo in modo orizzontale
					float pageHeight = MediaSize.ISO.A4.getX(MediaSize.INCH) * 72+50;
					float pageWidth = MediaSize.ISO.A4.getY(MediaSize.INCH) * 72;
					
					
					float margin = (1 / 2.54f) * 72; //1cm
					Paper paper = new Paper();
					paper.setImageableArea(margin, margin,585,790);

					format.setPaper(paper);
					format = pj.validatePage(format);

					//ruoto la pagina in maniera orizzontale
					format.setOrientation(PageFormat.LANDSCAPE);
					
					 RepaintManager currentManager = RepaintManager.currentManager(framePreview);
					 currentManager.setDoubleBufferingEnabled(true);
					 
					pj.printDialog();
					pj.setPrintable(framePreview,format);
					
					System.out.println("Area Stampabile"+margin+" "+margin+" "+pageWidth+" "+pageHeight);
					try {
					pj.print();
				} catch (PrinterException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				  
			
					
				}
			});

l' immagine viene disagnata in questo modo

codice:
@Override
	public void paintComponent(Graphics graphic) {
		
		super.paintComponents(graphic);

		graphic.drawImage(logoTitolo,0,0,null);



	}
ma mi viene stampata in maniera sfocata perkè?