Avatar billede dk_zerocool Nybegynder
06. marts 2003 - 14:44 Der er 2 kommentarer og
1 løsning

Udskrift af JTabel på flere sider ??

Jeg har denne kode som udskriver et JTabel, men der kommer kun én side ud, hvor den cutter resten af tabellen. Nogen der kan sige mig hvad jeg skal gøre for at den udskriver over flere sider ??

-----

package View;

import java.awt.*;
import javax.swing.*;
import java.awt.print.*;
import java.awt.Component.*;
import java.awt.geom.Dimension2D.*;
import java.awt.Dimension.*;
import java.awt.Image.*;

public class PrintUtilities implements Printable {
  private Component componentToBePrinted;

  public static void printComponent(Component c) {
    new PrintUtilities(c).print();
  }
 
  public PrintUtilities(Component componentToBePrinted) {
    this.componentToBePrinted = componentToBePrinted;
  }
 
  public void print() {
    PrinterJob printJob = PrinterJob.getPrinterJob();
    printJob.setPrintable(this);
    if (printJob.printDialog())
      try {
        printJob.print();
      } catch(PrinterException pe) {
        System.out.println("Printerfejl: " + pe);
      }
  }
 
  public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException
    {
    if (pageIndex != 0)
    return NO_SUCH_PAGE;

    if (g instanceof Graphics2D)
    {
    Graphics2D g2 = (Graphics2D)g;

    double dXscale = pf.getImageableWidth()/ pf.getWidth() ;
    double dYscale = pf.getImageableHeight()/ pf.getHeight();

    g2.translate(pf.getImageableX(), pf.getImageableY());
    g2.scale( dXscale, dYscale );

    componentToBePrinted.paint(g2);
    return PAGE_EXISTS;
    }
    else
    return NO_SUCH_PAGE;
  }

  public static void disableDoubleBuffering(Component c) {
    RepaintManager currentManager = RepaintManager.currentManager(c);
    currentManager.setDoubleBufferingEnabled(false);
  }

  public static void enableDoubleBuffering(Component c) {
    RepaintManager currentManager = RepaintManager.currentManager(c);
    currentManager.setDoubleBufferingEnabled(true);
  }
}
Avatar billede dk_zerocool Nybegynder
06. marts 2003 - 15:03 #1
Avatar billede dk_zerocool Nybegynder
06. marts 2003 - 15:07 #2
Avatar billede dk_zerocool Nybegynder
10. marts 2003 - 08:27 #3
lukker spørgsmål
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