Uso do método printerjob

1 resposta
C_Lucas

Bom dia. Estou criando uma aplicação e para finaliza-la gostaria que uma das JFrame pudesse ser impressa, para isso construi esse código:

private class Inicial7 extends JDialog implements Printable{
        JLabel plano_fundo,l_quantidade,l_preco,nome_produto1, nome_produto2,nome_produto3;
        ImageIcon fundo_final;
        JButton b_print;
        JTextField recebe_quantidade1,recebe_quantidade2,recebe_quantidade3,recebe_price1,recebe_price2,recebe_price3;

public int print(Graphics g, PageFormat pf, int page) throws PrinterException {
        if (page > 0) { 
            return NO_SUCH_PAGE;
        }   
        Graphics2D g2d = (Graphics2D)g;
        g2d.translate(pf.getImageableX(), pf.getImageableY());

        janela_final.printAll(g);
      
        return PAGE_EXISTS;
    }
 public void actionPerformed(ActionEvent e) {
         PrinterJob job = PrinterJob.getPrinterJob();
         job.setPrintable(this);
         boolean ok = job.printDialog();
         if (ok) {
             try {
                  job.print();
             } catch (PrinterException ex) {

             }
         }
    }

 private Inicial7(Frame owner, String title,boolean modal, String text1,String text2,
                String text3,String price1, String price2, String price3, String nomeproduto1, String nomeproduto2, String nomeproduto3){
        super(owner,title,modal);
        Container janela4 = getContentPane();
        janela4.setLayout(null);

Bom, tenho uma JFrame que tem um botão que chama essa JFrame(está no código acima) e passa por parâmetro via construtor algumas informações que as JTextFields(estão no código completo) irão receber. Na segunda JFrame tenho um botão imprimir, i como usar o metodo PrinterJob mas não consigo fazer uma actionListener para o botão funcionar, tentei dessa forma:

b_print.addActionListener(new PrintUIWindow(janela_final));//janela final é o nome da classe que criei para chamar uma nova janela

Por favor me ajudem, não sei mais o que fazer.
Obs: o código está meio ridículo mais eu estou começando.

1 Resposta

C_Lucas

Alguém me ajude por favor… :smiley: :smiley:

Criado 29 de junho de 2010
Ultima resposta 29 de jun. de 2010
Respostas 1
Participantes 1