Avatar billede suix Nybegynder
07. august 2007 - 13:33 Der er 1 løsning

Udskrivning af graf

Hej,
Jeg har følgende funktion der udskriver en frame. Problemet er, at det fylder al for meget. Kun halvdene af udskriften kommer ud på papiret. Selve størrelsen på framen tilpasser sig skærmens størrelse, men jeg har også prøvet manuel at sætte størelsen, uden effekt.

public void udskrivB_actionPerformed(ActionEvent e) {
        PrinterJob printJob = PrinterJob.getPrinterJob();
        PageFormat pf = new PageFormat();
        pf = printJob.pageDialog(pf);
        Paper paper = new Paper();
//        paper.setSize(6240,4320);
        double margin = 36; // half inch
        paper.setImageableArea(margin, margin, paper.getWidth() - margin * 2, paper.getHeight()
        - margin * 2);
        pf.setPaper(paper);
        printJob.setPrintable(this, pf);
        if (printJob.printDialog())
            try {
                printJob.print();
            } catch(PrinterException pe) {
                System.out.println("Error printing: " + pe);
            }
    }
   
    public int print(Graphics g, PageFormat pf, int pageIndex) {
        if (pageIndex > 0) {
            return(NO_SUCH_PAGE);
        } else {
            Graphics2D g2d = (Graphics2D)g;
            g2d.translate(pf.getImageableX(), pf.getImageableY());
            // Turn off double buffering
            this.paint(g2d);
            // Turn double buffering back on
            return(PAGE_EXISTS);
        }
    }
Avatar billede suix Nybegynder
08. august 2007 - 13:13 #1
Har fået løst det...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester