📄 printdemo1.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 + -