[RESOLVIDO] Como imprimir (enviar para impressora) um JFrame
2 respostas
jMarcel
Estou crindo uma aplicação desktop básica, onde tenho um Jframe, JPanels, JMenus, alguns JTextFields, JLabels e JButtons.
O aplicativo calcula valores informados pelo usuário nos textfields e apresenta os resultados em textfields, também.
Quero incluir um método para imprimir (enviar para a impressora) o JFrame inteiro, ou seja, tudo que estou vendo na tela do frame (os textfields, labels etc).
Já criei um JItemMenu (Imprimir Ctrl+P). Só falta incluir o método no evento, que eu ainda não sei como.
agora surgiu outro probleminha pra mim: estou com dificuldades para colocar o método printAll() no local adequado.
Quero que quando ocorrer o evt abaixo (criado para um menuItem), a Caixa de Diálogo de Impressão seja mostrada.
/* abaixo segue o trecho do código que se encontra no mesmo pacote do meuFrame */
publicclassimprimeClassimplementsPrintable{publicintprint(Graphicsg,PageFormatpf,intpage)throwsPrinterException{PrinterJobpj=PrinterJob.getPrinterJob();//É aqui mesmo que coloco esses métodos para PageFormatpageformat=pj.pageDialog(pj.defaultPage());//chamar a Caixa de Diálogo de Impressão ?if(page>0){returnNO_SUCH_PAGE;}Graphics2Dg2d=(Graphics2D)g;g2d.translate(pf.getImageableX(),pf.getImageableY());/*meuFrame.printAll(g); //imprime todo o frame*/returnPAGE_EXISTS;}}