//************************************************************* //Java applet //「SimplePrintTestApplet」 // //          作 成 者:ルート高菜    //          作成開始月:2006/6 //          最終更新月:2006/6 [TN090/J80b] //************************************************************* import java.awt.*; import java.awt.event.*; import java.awt.print.*; import javax.swing.*; public class SimplePrintTestApplet extends JApplet implements ActionListener { //Eclipseの場合、シリアライズ可能クラスでこれがないと警告が出る private static final long serialVersionUID=0; // JButton printButton=new JButton("PRINT"); // public void init(){ // JPanel panel=new JPanel(); panel.add(printButton); //コンテナ枠 Container cp=getContentPane(); cp.add(panel); // printButton.addActionListener(this); } //ボタンイベント public void actionPerformed(ActionEvent e) { if(e.getSource()==printButton){ PrinterJob pj=PrinterJob.getPrinterJob(); pj.setPrintable(new TestPrint()); try{ pj.print(); }catch(PrinterException exc){ } } } //印刷用のクラス(内部クラス) class TestPrint implements Printable{ public int print(Graphics g, PageFormat fmt, int index) throws PrinterException { //ページインデックスが印刷範囲外なら戻る if(index!=0){ return NO_SUCH_PAGE; //印刷範囲外のページ } //ページサイズ int w=(int)fmt.getWidth(); int h=(int)fmt.getHeight(); //印刷可能領域 int x=(int)fmt.getImageableX(); int y=(int)fmt.getImageableY(); int iw=(int)fmt.getImageableWidth(); int ih=(int)fmt.getImageableHeight(); // int s=g.getFont().getSize(); // g.drawRect(x+1,y+1,iw-2,ih-2); g.drawString("Width: "+w,x+72,y+s*1); g.drawString("Height: "+h,x+72,y+s*2); g.drawString("ImageableX: "+x,x+72,y+s*3); g.drawString("ImageableY: "+y,x+72,y+s*4); g.drawString("ImageableWidth: "+iw,x+72,y+s*5); g.drawString("ImageableHeight: "+ih,x+72,y+s*6); // return PAGE_EXISTS; //範囲内のページで印刷処理を行った } } }