+++ /dev/null
-package fr.orsay.lri.varna.applications;
-
-import java.awt.*;
-import javax.swing.*;
-import java.awt.print.*;
-
-public class VARNAPrinter implements Printable {
- private Component componentToBePrinted;
-
- public static void printComponent(Component c) {
- new VARNAPrinter(c).print();
- }
-
- public VARNAPrinter(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("Error printing: " + pe);
- }
- }
-
- public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
- if (pageIndex > 0) {
- return(NO_SUCH_PAGE);
- } else {
- Graphics2D g2d = (Graphics2D)g;
- g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
- disableDoubleBuffering(componentToBePrinted);
- componentToBePrinted.paint(g2d);
- enableDoubleBuffering(componentToBePrinted);
- return(PAGE_EXISTS);
- }
- }
-
- 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);
- }
-}