From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/Listing2601.java | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/Listing2601.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing2601.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Listing2601.java b/Master/Reference Architectures and Patterns/hjp5/examples/Listing2601.java new file mode 100644 index 0000000..f0a46db --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/Listing2601.java @@ -0,0 +1,94 @@ +/* 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); + } + } + } +} \ No newline at end of file -- cgit v1.2.3