importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.print.PageFormat;importjava.awt.print.Printable;importjava.awt.print.PrinterException;importjava.awt.print.PrinterJob;importjavax.swing.JFrame;importjavax.swing.JOptionPane;classImpressaoimplementsPrintable{privatestaticFormularioformulario;JFrameframeToPrint;publicImpressao(JFramef){frameToPrint=f;}publicintprint(Graphicsg,PageFormatpf,intpage)throwsPrinterException{if(page>0){// Tem-se somente uma página, e a ?página? baseada em zeroreturnNO_SUCH_PAGE;}/* * User (0,0) is typically outside the imageable area, so we must * translate by the X and Y values in the PageFormat to avoid clipping */Graphics2Dg2d=(Graphics2D)g;g2d.translate(pf.getImageableX(),pf.getImageableY());frameToPrint.printComponents(g);/* tell the caller that this page is part of the printed document */returnPAGE_EXISTS;}publicvoidimprimir(){PrinterJobjob=PrinterJob.getPrinterJob();job.setPrintable(this);booleanok=job.printDialog();if(ok){try{job.print();}catch(PrinterExceptionex){// O trabalho não terminou com sucessoJOptionPane.showMessageDialog(null,"Ocorreu um erro na impressão, por favor tente novamente");}}}}
Faz só a chamada a essa classe.
A propósito vc tem q baixar a API de impressão
ViniGodoy
Se você tem um JTextArea, use o método append ao invés do setText.
O append continua da posição de onde parou.
Se você tem um JTextField, troque por um JTextArea. O JTextArea foi feito para ter múltiplas linhas de texto.
X
Xenogue
Obrigado amigos ! Funcionou 1
Mas estou com outro problemas, tenho um Vetor de 4 palavras
a b c d
Como monto um For pra poder trocar qualquer palavra deste vetor e ainda assim imprimi-lo na ordem ?
EX:
troquei o d por Q e imprimi:
a b c Q
X
Xenogue
Num sei se fiz bem, mas…
apagava o vetor
e copiava todo ele via append, cada posição
isso num laço, gambiarra ou não, ta funfando heehe