#眉標=Java SE 6.0、JQS、Java Applet #副標= Java SE 6.0開發(1) #大標=列印功能與Java Quick Starter #作者=文/圖 黃嘉輝 ============= 程式1 import java.awt.print.*; public class ... implements Printable { PageFormat pf; PrinterJob prnJob; public void print() { pf = new PageFormat(); prnJob = PrinterJob.getPrinterJob(); if (prnJob.printDialog()) { prnJob.setPrintable(this, pf); try { prnJob.print(); } catch (Exception ex) {...} } } ... } ===<反灰>============= ============= 程式2 g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY()); g2d.setClip((int)(pageFormat.getImageableX()/scale), (int)(pageFormat.getImageableY()/scale), (int)(pageFormat.getImageableWidth()/scale), (int)(pageFormat.getImageableHeight()/scale)); ... g2d.translate(g2d.getClipBounds().getX(), g2d.getClipBounds().getY()); ================ ============= 程式3 printPane.setSize((int) pageFormat.getImageableWidth(), Integer.MAX_VALUE); pview = printPane.getUI().getRootView(printPane); if ((scaleWidthToFit) && (printPane.getMinimumSize().getWidth() > pageFormat.getImageableWidth())) { scale = pageFormat.getImageableWidth() / printPane.getMinimumSize().getWidth(); g2d.scale(scale,scale); } ================ ============= 程式4 try { PrinterJob prnJob = PrinterJob.getPrinterJob(); // 顯示版面設定對話盒以設定邊界、列印方向、 // 紙張大小、紙張來源、印表機等 pf = prnJob.pageDialog(prnJob.defaultPage()) ; } catch (Exception ex) {...} ================ ============= 程式5 JTextArea jtextarea = new JTextArea(); ... try { // 列印內容 jtextarea.print(); } catch (PrinterException ex) {...} ================