/* Listing2601.java */ import java.awt.*; import java.awt.event.*; public class Listing2601 extends Frame { public static void main(String[] args) { Listing2601 wnd = new Listing2601(); } public Listing2601() { super("Drucken"); addWindowListener(new WindowClosingAdapter(true)); setBackground(Color.lightGray); setSize(400,400); setVisible(true); //Ausdruck in 2 Sekunden starten try { Thread.sleep(2000); } catch (InterruptedException e) { //nichts } printTestPage(); } public void paint(Graphics g) { paintGrayBoxes(g, 40, 50); } public void printTestPage() { PrintJob pjob = getToolkit().getPrintJob( this, "Testseite", null ); if (pjob != null) { //Metriken int pres = pjob.getPageResolution(); int sres = getToolkit().getScreenResolution(); Dimension d2 = new Dimension( (int)(((21.0 - 2.0) / 2.54) * sres), (int)(((29.7 - 2.0) / 2.54) * sres) ); //Ausdruck beginnt Graphics pg = pjob.getGraphics(); if (pg != null) { //Rahmen pg.drawRect(0, 0, d2.width, d2.height); //Text pg.setFont(new Font("TimesRoman",Font.PLAIN,24)); pg.drawString("Testseite",40,70); pg.drawString( "Druckerauflösung : " + pres + " dpi", 40, 100 ); pg.drawString( "Bildschirmauflösung : " + sres + " dpi", 40, 130 ); pg.drawString( "Seitengröße : " + d2.width + " * " + d2.height, 40, 160 ); //Graustufenkästchen paintGrayBoxes(pg, 40, 200); //Seite ausgeben pg.dispose(); } pjob.end(); } } private void paintGrayBoxes(Graphics g, int x, int y) { for (int i = 0; i < 16; ++i) { for (int j = 0; j < 16; ++j) { int level = 16 * i + j; g.setColor(Color.black); g.drawRect(x + 20 * j, y + 20 * i, 20, 20); g.setColor(new Color(level, level, level)); g.fillRect(x + 1 + 20 * j, y + 1 + 20 * i, 19, 19); } } } }