Qualidade da imagem de um JPanel

Ola estou criando um buffer de imagem de um JPanel para passar para o iReport (tudo esta funcionando corretamente)

segue codigo

			BufferedImage bufferedImage = new BufferedImage(595, 842, BufferedImage.TYPE_INT_RGB);

			panel.printAll(bufferedImage.getGraphics());

			ImageIO.write(bufferedImage, "jpg", byteArrayOutputStream); 

Gostaria de saber como devo proceder para que a imagem tenha uma qualidade maior.

Vlw.

Consegui chegar a este código:


Iterator<?> iter = ImageIO.getImageWritersByFormatName("jpeg");
		
		ImageWriter writer = (ImageWriter)iter.next();
		
		ImageWriteParam iwp = writer.getDefaultWriteParam();
		iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
		iwp.setCompressionQuality(1);
		
		try {
			
			File file = new File("Com Filtro.jpg");
			FileImageOutputStream output = new FileImageOutputStream(file);
			writer.setOutput(output);
			IIOImage image = new IIOImage(imagem, null, null);
			writer.write(null, image, iwp);
			writer.dispose();
			
		} catch (Exception e) {
			e.printStackTrace();
		}

O mesmo grava um arquivo JPG no disco, gostaria de saber como devo proceder para que ele continue em BufferedImage.

Vlw