Pessoal estou criando aqui uma uma action para imprimir meu JFRAME. Tenho dois problemas. O primeiro que é que não tem o método ‘scale’ ( ‘g2.’ para pesquisar, não encontra scale), pra eu usar mesmo já tendo dado a importação. E o segundo é que ele acusa que não é possível converter de double para int em “g2.translate”. Caso esteja se perguntando, vou jogar os dados do JFrame dentro do JPanel para imprimir. Ajudem me plssss
import java.awt.Color;
import java.awt.print.PrinterJob;
import java.awt.print.Printable;
import java.awt.Graphics;
import java.awt.print.PageFormat;
import java.awt.Graphics2D;
import java.awt.print.PrinterException;
private void ImprimirActionPerformed(java.awt.event.ActionEvent evt) {
PrinterJob job = PrinterJob.getPrinterJob();
job.setJobName("Print Data");
job.setPrintable(new Printable(){
public int print(Graphics pg, PageFormat pf, int pageNum){
if(pageNum>0){
return Printable.NO_SUCH_PAGE;
}
Graphics g2 = (Graphics2D)pg;
g2.translate(pf.getImageableX(), pf.getImageableY());
g2.scale(0.24,0.24);
jPanel1.paint(g2);
return Printable.PAGE_EXISTS;
}
});
boolean ok = job.printDialog();
if(ok){
try{
job.print();
}
catch (PrinterException ex){}
}
}