⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printdemo1.java

📁 java 完全探索的随书源码
💻 JAVA
字号:
// PrintDemo1.java

import java.awt.*;
import java.awt.geom.*;
import java.awt.print.*;

class PrintDemo1 implements Printable
{
   public static void main (String [] args)
   {
      // Get a printer job.

      PrinterJob job = PrinterJob.getPrinterJob ();

      // Specify the printable to be an instance of PrintDemo1.

      job.setPrintable (new PrintDemo1 ());

      // Specify number of copies and job name.

      job.setCopies (2);
      job.setJobName ("Printable");

      // Put up the dialog box.

      if (job.printDialog ())
      {
          // Print the job if the user didn't cancel printing.

          try
          {
             job.print ();
          }
          catch (PrinterException e)
          {
             System.out.println (e);
          }
      }

      System.exit (0);
   }

   public int print (Graphics g, PageFormat pf, int pageIndex)
              throws PrinterException
   {
      // pageIndex 0 corresponds to page number 1.

      if (pageIndex >= 1)
          return Printable.NO_SUCH_PAGE;

      PrinterGraphics p = (PrinterGraphics) g;

      System.out.println (p.getPrinterJob ().getCopies ());
      System.out.println (p.getPrinterJob ().getJobName ());

      Graphics2D g2 = (Graphics2D) g;

      double w = pf.getImageableWidth ();
      double h = pf.getImageableHeight ();

      int xo = (int) pf.getImageableX ();
      int yo = (int) pf.getImageableY ();

      Rectangle2D r = new Rectangle2D.Double (xo, yo, w, h);

      g2.setColor (Color.red);
      g2.draw (r);

      for (int x = 0; x + 32 < w; x += 36)
           for (int y = 0; y + 32 < h; y += 36)
      {
           g2.setColor (new Color (rnd (256), rnd (256), rnd (256)));

           Shape s = new Ellipse2D.Double (xo + x + 4, yo + y + 4,
                                           32, 32);

           g2.fill (s);       
      }

      return Printable.PAGE_EXISTS;   
   }

   int rnd (int limit)
   {
      return ((int) (Math.random () * limit));
   } 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -