I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Jeg har gjort følgende for at tilpasse papiret til det der skal printes ud.
PrinterJob printerJob = PrinterJob.getPrinterJob(); PageFormat p = printerJob.defaultPage(); Paper paper = p.getPaper(); paper.setImageableArea( 10,10, 575 , 821); p.setPaper( paper );
Så skal du bare sørge for at du kun tegner indenfor de punkter du har sat i setImageableArea.
Ok, der kommer noget kode senere, jeg skal lige klippe de centrale dele ud. Det er et projekt og der er temmelig meget kode ud over selve canvas\'et og print-delen.
public class TestCanvas extends Canvas implements Printable // MouseListener, MouseMotionListener { public final static int WIDTH = 880; public final static double baneHoejde = 143.3; public final static int HEIGHT = 455;
public TestCanvas() { repaint(); setSize(WIDTH, HEIGHT); setBackground(Color.white); }
/** The speed and quality of printing suffers dramatically if * any of the containers have double buffering turned on. * So this turns if off globally. * @see enableDoubleBuffering */ public static void disableDoubleBuffering(Component c) { RepaintManager currentManager = RepaintManager.currentManager(c); currentManager.setDoubleBufferingEnabled(false); }
/** Re-enables double buffering globally. */ public static void enableDoubleBuffering(Component c) { RepaintManager currentManager = RepaintManager.currentManager(c); currentManager.setDoubleBufferingEnabled(true); }
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.