Java Reference
In-Depth Information
demonstrates the use of PrintSuit .Asaresult the embedded text area and button
are printed; the frame itself however, is, not printed.
File: its/Printing/PrintSuit.java
1. package its.Printing;
2.
3. import java.awt.Component;
4. import java.awt.Graphics;
5. import java.awt.print.PageFormat;
6. import java.awt.print.Printable;
7. import java.awt.print.PrinterException;
8. import java.awt.print.PrinterJob;
9. import javax.swing.RepaintManager;
10.
11. public class PrintSuit implements Printable {
12.
private Component compToPrint;
13.
14.
public static void printComponent(Component comp) {
15.
new PrintSuit(comp).print();
16.
}
17.
18. private PrintSuit(Component comp) {
19.
this .compToPrint = comp;
20.
}
21.
22. public void print() {
23.
PrinterJob printJob = PrinterJob.getPrinterJob();
24.
printJob.setPrintable( this );
25.
if (printJob.printDialog()){
26.
try {
27.
printJob.print();
28.
} catch (PrinterException pex) {
29.
pex.printStackTrace();
30.
}
31.
}
32.
}
33.
34.
public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
35.
if (pageIndex > 0) {
36.
return (NO_SUCH_PAGE);
37.
} else {
38.
int x=( int )pageFormat.getImageableX() + 1;
39.
int y=( int )pageFormat.getImageableY() + 1;
40.
g.translate(x,y);
41.
RepaintManager currentManager =
RepaintManager.currentManager(compToPrint)
Search WWH ::




Custom Search