Java のインタフェース Printableを利用するプログラム

Javaコード:
package com.startnews24.system;
import java.awt.Graphics;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

public class Printer_Startnews24 {

public static void main(String[] args) {
PrinterJob job = PrinterJob.getPrinterJob();

job.setPrintable(new Printable(){
private final int OVAL_WIDTH = 130;
private final int OVAL_HEIGHT = 130;
@Override
public int print(Graphics g, PageFormat pageFormat,int pageIndex) throws PrinterException {
if(pageIndex>0)
{
return Printable.NO_SUCH_PAGE;
}

int x = (int)pageFormat.getImageableHeight();
int y = (int)pageFormat.getImageableWidth();
g.drawString(“ユーザー情報を取得”,10,10);

return Printable.PAGE_EXISTS;
}});
job.setJobName(“設計ドキュメント”);
try {
job.print();
System.out.println(“印刷完了!”);
} catch (PrinterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

説明:
1.java.awt.print
このパッケージは、汎用印刷 API で使用するクラスおよびインタフェースを提供します.
2.PrinterJob
Printable を実装するインスタンスは、ページのグラフィックを印刷するために呼び出されます。PrinterJob に Printable(..) を設定できます。その後、クライアントが PrinterJob.print(..) を呼び出して印刷をトリガーすると、 全てのページが印刷されるまで、制御が印刷システムに渡されます。