Mercurial > ScreenAdjuster
annotate ScreenAdjuster.java @ 0:855307f4bf5e
Working version.
| author | Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no> |
|---|---|
| date | Fri, 22 Feb 2013 17:24:40 +0100 |
| parents | |
| children | c5bdb7bee4a7 |
| rev | line source |
|---|---|
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
1 import javax.swing.*; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
2 import java.awt.*; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
3 import java.awt.event.*; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
4 import java.awt.font.*; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
5 import java.awt.geom.*; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
6 import java.util.*; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
7 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
8 class ScreenAdjuster extends JFrame implements ActionListener |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
9 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
10 int frameNumber = -1; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
11 //JLabel messageText = new JLabel("HEI"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
12 Vector<String> messageText = null; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
13 Color backgroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
14 Color foregroundColor; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
15 Color outlineColor; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
16 javax.swing.Timer messageTimeout = new javax.swing.Timer(2000, this); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
17 boolean messageVisible = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
18 boolean messageOutline = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
19 boolean messageBBox = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
20 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
21 ScreenAdjuster(boolean fullScreen) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
22 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
23 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
24 messageTimeout.setRepeats(false); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
25 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
26 nextFrame(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
27 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
28 if (fullScreen) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
29 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
30 setUndecorated(true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
31 //setResizable(false); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
32 /* |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
33 Rectangle bounds = getBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
34 setBounds(bounds.x,bounds.y,200,200); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
35 setVisible(true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
36 */ |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
37 /* |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
38 fullscreenFrame.add(new JLabel("Press ALT+F4 to exit fullscreen.", |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
39 SwingConstants.CENTER), |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
40 BorderLayout.CENTER); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
41 */ |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
42 validate(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
43 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
44 setVisible(true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
45 GraphicsEnvironment.getLocalGraphicsEnvironment() |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
46 .getDefaultScreenDevice().setFullScreenWindow(this); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
47 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
48 else { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
49 Rectangle bounds = getBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
50 setBounds(bounds.x,bounds.y,200,200); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
51 setVisible(true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
52 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
53 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
54 enableEvents(AWTEvent.KEY_EVENT_MASK); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
55 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
56 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
57 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
58 public void actionPerformed(ActionEvent evt) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
59 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
60 messageVisible = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
61 repaint(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
62 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
63 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
64 protected void processKeyEvent(KeyEvent e) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
65 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
66 if (e.getID() == KeyEvent.KEY_PRESSED) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
67 Log.DEFAULT.println(e.paramString()); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
68 if (e.getKeyText(e.getKeyCode()).equals("Q")) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
69 System.exit(0); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
70 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
71 if (e.getKeyCode() == KeyEvent.VK_BACK_SPACE) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
72 frameNumber -= 2; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
73 if (frameNumber < 0) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
74 frameNumber += numFrames(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
75 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
76 Log.DEFAULT.println(e.getKeyText(e.getKeyCode())); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
77 nextFrame(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
78 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
79 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
80 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
81 static Color complementary(Color in) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
82 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
83 if (in != null) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
84 float hsb [] = Color.RGBtoHSB(in.getRed(), |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
85 in.getGreen(), |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
86 in.getBlue(), null); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
87 return Color.getHSBColor(hsb[0], hsb[1], 1 - hsb[2]); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
88 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
89 return Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
90 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
91 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
92 void nextFrame() |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
93 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
94 frameNumber = (frameNumber + 1) % numFrames(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
95 foregroundColor = null; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
96 backgroundColor = null; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
97 outlineColor = null; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
98 messageText = new Vector<String>(0); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
99 messageBBox = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
100 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
101 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
102 switch (frameNumber) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
103 case 0: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
104 messageText.add("This screen should appear all BLACK!"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
105 messageText.add("Please check for any dead pixels."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
106 messageText.add(""); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
107 messageText.add("Appart from this, please use this opportunity to clean your screen."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
108 backgroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
109 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
110 case 1: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
111 messageText.add("This screen should appear all WHITE!"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
112 messageText.add("Please check for any dead pixels."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
113 messageText.add(""); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
114 messageText.add("Appart from this, please use this opportunity to clean your screen."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
115 backgroundColor = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
116 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
117 case 2: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
118 messageText.add("This screen should appear all RED!"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
119 messageText.add("Please check for any dead pixels."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
120 backgroundColor = Color.RED; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
121 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
122 case 3: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
123 messageText.add("This screen should appear all GREEN!"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
124 messageText.add("Please check for any dead pixels."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
125 backgroundColor = Color.GREEN; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
126 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
127 case 4: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
128 messageText.add("This screen should appear all BLUE!"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
129 messageText.add("Please check for any dead pixels."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
130 backgroundColor = Color.BLUE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
131 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
132 case 5: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
133 messageText.add("This screen contains vertical stripes"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
134 messageText.add("Please adjust your screen so they are perfectly vertical"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
135 messageText.add(""); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
136 messageText.add("(Primarily applies to CRT screens)"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
137 foregroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
138 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
139 case 6: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
140 messageText.add("This screen contains horizontal stripes"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
141 messageText.add("Please adjust your screen so they are perfectly horizontal"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
142 messageText.add(""); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
143 messageText.add("(Primarily applies to CRT screens)"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
144 foregroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
145 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
146 case 7: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
147 messageText.add("This screen contains a chess pattern"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
148 messageText.add("Please adjust your screen so the pattern is perfectly horizontal and vertical"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
149 messageText.add(""); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
150 messageText.add("(Primarily applies to CRT screens)"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
151 foregroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
152 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
153 case 8: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
154 messageText.add("This screen should be all black, with a hairline yellow border"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
155 messageText.add("Please adjust your screen so the border is perfectly aligned with the sides of your screen"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
156 backgroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
157 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
158 case 9: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
159 messageText.add("This screen contains a round circle"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
160 messageText.add("Please adjust your screen so that the aspect ratio makes this perfectly round."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
161 foregroundColor = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
162 backgroundColor = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
163 outlineColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
164 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
165 case 10: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
166 messageText.add("This screen contains a medium size chess pattern"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
167 messageText.add("Please adjust your brightness and contrast."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
168 foregroundColor = Color.RED; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
169 backgroundColor = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
170 outlineColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
171 messageBBox = true; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
172 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
173 case 11: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
174 messageText.add("This screen contains a pixel size chess pattern"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
175 messageText.add("Please adjust your brightness and contrast."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
176 foregroundColor = Color.RED; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
177 backgroundColor = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
178 outlineColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
179 messageBBox = true; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
180 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
181 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
182 messageTimeout.stop(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
183 messageVisible = true; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
184 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
185 messageTimeout.start(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
186 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
187 if (foregroundColor == null) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
188 foregroundColor = complementary(backgroundColor); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
189 //messageText.setForeground(foregroundColor); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
190 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
191 repaint(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
192 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
193 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
194 int numFrames() |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
195 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
196 return 12; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
197 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
198 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
199 public static final void main(final String[] args) throws Exception |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
200 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
201 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
202 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
203 Log.DEFAULT = new Log(new VoidStream()); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
204 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
205 boolean fullscreen = true; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
206 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
207 if (args.length >= 1) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
208 fullscreen = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
209 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
210 //fullscreen = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
211 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
212 final JFrame fullscreenFrame = new ScreenAdjuster(fullscreen); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
213 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
214 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
215 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
216 public static void paintCheckers(Graphics g, Rectangle bounds, int size, int numColors, int mode, boolean alternativeColors) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
217 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
218 Rectangle cbounds = g.getClipBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
219 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
220 g.setColor(Color.WHITE); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
221 //g.fillRect(cbounds.x, cbounds.y, cbounds.width, cbounds.height); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
222 g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
223 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
224 //Offset xmin by 1, if cliparea is on an odd boundary |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
225 int xmin = bounds.x; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
226 int xmax = bounds.x + bounds.width; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
227 int ymin = bounds.y; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
228 int ymax = bounds.y + bounds.height; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
229 int hcolor = -1; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
230 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
231 Color colors[] = { Color.BLACK, Color.RED, |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
232 Color.GREEN, Color.BLUE, Color.WHITE }; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
233 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
234 if (numColors <= 2) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
235 if (alternativeColors) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
236 colors[0] = Color.YELLOW; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
237 colors[1] = Color.BLUE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
238 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
239 else { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
240 colors[1] = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
241 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
242 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
243 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
244 g.setColor(Color.BLACK); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
245 for (int x = xmin; x < xmax; x += size) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
246 if ((mode & 0x1) > 0) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
247 hcolor = (hcolor + 1) % numColors; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
248 int color = hcolor; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
249 for (int y = ymin; y < ymax; y += size) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
250 if ((mode & 0x2) > 0) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
251 color = (color + 1) % numColors; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
252 g.setColor(colors[color]); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
253 g.fillRect(x, y, size, size); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
254 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
255 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
256 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
257 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
258 public void paint(Graphics g) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
259 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
260 super.paint(g); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
261 Graphics2D g2 = (Graphics2D) g; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
262 Rectangle cbounds = g.getClipBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
263 Rectangle bounds = getBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
264 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
265 Log.DEFAULT.println(frameNumber); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
266 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
267 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
268 if (backgroundColor != null) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
269 g.setColor(backgroundColor); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
270 //g.fillRect(cbounds.x, cbounds.y, cbounds.width, cbounds.height); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
271 g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
272 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
273 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
274 switch (frameNumber) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
275 case 0: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
276 case 1: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
277 case 2: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
278 case 3: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
279 case 4: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
280 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
281 case 11: { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
282 g.setColor(Color.BLACK); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
283 //Offset xmin by 1, if cliparea is on an odd boundary |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
284 int xmin = cbounds.x + ((cbounds.x - bounds.x) & 0x1); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
285 int xmax = cbounds.x + cbounds.width; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
286 for (int x = xmin; x < xmax; x += 2) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
287 g.drawLine(x, bounds.y, x, bounds.y + bounds.height); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
288 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
289 for (int y = bounds.y; y < bounds.y + bounds.height; y += 2) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
290 g.drawLine(bounds.x, y, bounds.x + bounds.width, y); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
291 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
292 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
293 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
294 case 7: { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
295 paintCheckers(g, bounds, 50, 2, 3, true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
296 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
297 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
298 case 10: { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
299 paintCheckers(g, bounds, 5, 2, 3, false); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
300 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
301 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
302 case 9: { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
303 int x = bounds.x; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
304 int y = bounds.y; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
305 int height = bounds.height - y; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
306 int width = bounds.width - x; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
307 int diameter; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
308 if (height < width) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
309 diameter = height; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
310 x += (width - height) /2; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
311 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
312 else { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
313 diameter = width; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
314 y += (height - width) /2; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
315 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
316 Log.DEFAULT.println("Geometry:"+bounds.x+"x"+bounds.y+":"+bounds.width + "x" + bounds.height); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
317 g.setColor(Color.BLACK); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
318 g.fillOval(x, y, diameter, diameter); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
319 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
320 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
321 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
322 case 8: { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
323 g.setColor(Color.YELLOW); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
324 g.drawRect(bounds.x+1, bounds.y+1, bounds.width-2, bounds.height-2); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
325 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
326 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
327 case 5: { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
328 paintCheckers(g, bounds, 50, 2, 2, true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
329 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
330 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
331 case 6: { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
332 paintCheckers(g, bounds, 50, 2, 1, true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
333 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
334 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
335 }; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
336 /* |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
337 if (messageText.isVisible()) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
338 messageText.paint(g); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
339 */ |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
340 if (messageVisible) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
341 Font font = g.getFont(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
342 font = new Font(font.getFontName(), |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
343 font.getStyle(), |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
344 (int)(font.getSize2D() * 2)); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
345 double fontHeight = font.getMaxCharBounds(g2.getFontRenderContext()).getHeight(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
346 double totalHeight = fontHeight * messageText.size(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
347 double y = (bounds.height - totalHeight) /2.0; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
348 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
349 for (int i = 0; i < messageText.size(); ++i) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
350 String text = messageText.get(i); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
351 if (text.length() > 0 ) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
352 TextLayout tl = |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
353 new TextLayout(messageText.get(i), |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
354 font, g2.getFontRenderContext()); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
355 double textWidth = tl.getBounds().getWidth(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
356 double x = (bounds.width - textWidth) /2.0; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
357 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
358 Shape outline = |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
359 tl.getOutline(AffineTransform.getTranslateInstance(x,y)); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
360 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
361 Rectangle tBounds = outline.getBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
362 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
363 if (messageBBox) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
364 g2.setColor(backgroundColor); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
365 g2.fillRect(tBounds.x, tBounds.y, tBounds.width, tBounds.height); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
366 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
367 g2.setColor(foregroundColor); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
368 g2.fill(outline); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
369 if (outlineColor != null) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
370 g2.setColor(outlineColor); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
371 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
372 g2.draw(outline); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
373 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
374 y += fontHeight; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
375 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
376 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
377 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
378 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
379 } |
