Question

I'm trying to print the content of JFrame but, by looking at different tutorials, I still din't have any luck... Currently Parts of code for printing are

  public class View_Check extends javax.swing.JFrame implements Printable{

  JFrame frameToPrint;


   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());
        frameToPrint.printAll(g);
        return PAGE_EXISTS;
    }

and on the click of the button (jButton2)

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         

       PrinterJob job = PrinterJob.getPrinterJob();
         job.setPrintable(this);
         boolean ok = job.printDialog();
         if (ok) {
             try {
                  job.print();
             } catch (PrinterException ex) {

             }
         }

    }            

Im Sure something is missing, but by trying to add "JFrame f" to View_Check didn't help... and new (View_Check(f)) either as f couldn't be found ant NetBeans was turning into a christmas tree with red lines

just in case here is a

public View_Check( Model_Customer cust)  {

        initComponents();
        lblinfo1.setVisible(false);
        customer = cust;
        lblname.setText(customer.GetFName());
        lblsurname.setText(customer.GetLName());
        lblMake.setText(customer.GetMake());
        lblModel.setText(customer.GetModel());
        lblEngine.setText(customer.GetEngine());
        lblRegistration.setText(customer.GetRegistration());
        lblMileage.setText(customer.GetMileage());
        String date = new SimpleDateFormat("dd-MM-yyyy").format(new Date());
        lblDate.setText(date);
        lblPostcode.setText(customer.GetPostcode());
        lblNumber.setText(customer.GetNumber());               
    }

Changed frameToPrint.printAll(g); to this.printAll(g); and worked Like a charm :) Thanks for your help

No correct solution

OTHER TIPS

try making the JFrame frameToPrint static See if it solves the problem.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top