diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/examples/Listing2601.java | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing2601.java')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/examples/Listing2601.java | 94 |
1 files changed, 94 insertions, 0 deletions
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 |
