Preciso imprimir isto ! Como fazer ? NOVO

4 respostas
X

Estou aki tentando mas naum conseguindo:

Preciso imprimir algo como __ __ __ __

for (int i = 0; i < tam; i++) {
painelChute.setText(arrayPal[i]+" ");

}

Mas o painel sempre volta ao início, teria como marcar um local pra ele continuar escrevendo ? ao invés de sempre sobrescrever ?

Ele imprime apenas __

4 Respostas

wanderley.drumond

Tenta isso :

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

class Impressao implements Printable {
    private static Formulario formulario;
    JFrame                    frameToPrint;

    public Impressao(JFrame f) {
        frameToPrint = f;
    }

    public int print(Graphics g, PageFormat pf, int page) throws PrinterException {
        if (page > 0) {

            // Tem-se somente uma página, e a ?página? baseada em zero
            return NO_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
         */
        Graphics2D g2d = (Graphics2D) g;

        g2d.translate(pf.getImageableX(), pf.getImageableY());
        frameToPrint.printComponents(g);

        /* tell the caller that this page is part of the printed document */
        return PAGE_EXISTS;
    }

    public void imprimir() {
        PrinterJob job = PrinterJob.getPrinterJob();

        job.setPrintable(this);

        boolean ok = job.printDialog();

        if (ok) {
            try {
                job.print();
            } catch (PrinterException ex) {

                // O trabalho não terminou com sucesso
                JOptionPane.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

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

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

Criado 8 de dezembro de 2007
Ultima resposta 9 de dez. de 2007
Respostas 4
Participantes 3