Mercurial > ScreenAdjuster
annotate ScreenAdjuster.java @ 6:9e99396a84ef
Whitespace cleanup.
| author | Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no> |
|---|---|
| date | Tue, 14 Jul 2015 16:03:58 +0200 |
| parents | 09dcc2e5058a |
| children |
| rev | line source |
|---|---|
|
5
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
1 import java.awt.AWTEvent; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
2 import java.awt.Color; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
3 import java.awt.Font; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
4 import java.awt.Graphics2D; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
5 import java.awt.Graphics; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
6 import java.awt.GraphicsEnvironment; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
7 import java.awt.Rectangle; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
8 import java.awt.Shape; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
9 |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
10 import java.awt.event.ActionEvent; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
11 import java.awt.event.ActionListener; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
12 import java.awt.event.KeyEvent; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
13 |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
14 import java.awt.font.TextLayout; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
15 |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
16 import java.awt.geom.AffineTransform; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
17 |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
18 import java.awt.image.BufferedImage; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
19 |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
20 import java.util.Vector; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
21 |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
22 import javax.swing.JFrame; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
23 import javax.swing.UIManager; |
|
09dcc2e5058a
Cleaning up includes.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
4
diff
changeset
|
24 import javax.swing.WindowConstants; |
|
0
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 class ScreenAdjuster extends JFrame implements ActionListener |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
27 { |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
28 final float TIMEOUT_IN_SECONDS = 2.5f; |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
29 int frameNumber = -1; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
30 Vector<String> messageText = null; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
31 Color backgroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
32 Color foregroundColor; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
33 Color outlineColor; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
34 boolean messageVisible = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
35 boolean messageOutline = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
36 boolean messageBBox = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
37 |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
38 BufferedImage bufferedImage; |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
39 Graphics2D g2; |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
40 Rectangle curBounds; |
|
6
9e99396a84ef
Whitespace cleanup.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
5
diff
changeset
|
41 |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
42 enum MessageStatus { TIMEOUT, SHOW, HIDE }; |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
43 |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
44 javax.swing.Timer messageTimeout = |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
45 new javax.swing.Timer((int)(TIMEOUT_IN_SECONDS * 1000), this); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
46 |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
47 void resetSize() |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
48 { |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
49 Rectangle bounds = getBounds(); |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
50 if (!bounds.equals(curBounds)) { |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
51 bufferedImage = new BufferedImage(bounds.width, bounds.height, BufferedImage.TYPE_INT_ARGB); |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
52 g2 = bufferedImage.createGraphics(); |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
53 curBounds = bounds; |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
54 } |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
55 } |
|
6
9e99396a84ef
Whitespace cleanup.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
5
diff
changeset
|
56 |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
57 ScreenAdjuster(boolean fullScreen) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
58 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
59 messageTimeout.setRepeats(false); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
60 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
61 nextFrame(); |
|
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 if (fullScreen) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
64 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
65 setUndecorated(true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
66 //setResizable(false); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
67 /* |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
68 Rectangle bounds = getBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
69 setBounds(bounds.x,bounds.y,200,200); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
70 setVisible(true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
71 */ |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
72 /* |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
73 fullscreenFrame.add(new JLabel("Press ALT+F4 to exit fullscreen.", |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
74 SwingConstants.CENTER), |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
75 BorderLayout.CENTER); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
76 */ |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
77 validate(); |
|
2
77e2655ac09d
Whitespace clean.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
1
diff
changeset
|
78 |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
79 setVisible(true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
80 GraphicsEnvironment.getLocalGraphicsEnvironment() |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
81 .getDefaultScreenDevice().setFullScreenWindow(this); |
|
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 else { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
84 Rectangle bounds = getBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
85 setBounds(bounds.x,bounds.y,200,200); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
86 setVisible(true); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
87 |
|
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 enableEvents(AWTEvent.KEY_EVENT_MASK); |
|
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 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
93 public void actionPerformed(ActionEvent evt) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
94 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
95 messageVisible = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
96 repaint(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
97 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
98 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
99 protected void processKeyEvent(KeyEvent e) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
100 { |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
101 int increase = 1; |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
102 MessageStatus messageStatus = MessageStatus.TIMEOUT; |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
103 if (e.getID() == KeyEvent.KEY_PRESSED) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
104 Log.DEFAULT.println(e.paramString()); |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
105 if (e.getKeyCode() == KeyEvent.VK_Q) { |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
106 System.exit(0); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
107 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
108 if (e.getKeyCode() == KeyEvent.VK_BACK_SPACE) { |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
109 increase = -1; |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
110 } |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
111 else if (e.getKeyCode() == KeyEvent.VK_S) { |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
112 messageTimeout.stop(); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
113 increase = 0; |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
114 messageStatus = MessageStatus.SHOW; |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
115 } |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
116 else if (e.getKeyCode() == KeyEvent.VK_H) { |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
117 messageTimeout.stop(); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
118 increase = 0; |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
119 messageStatus = MessageStatus.HIDE; |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
120 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
121 Log.DEFAULT.println(e.getKeyText(e.getKeyCode())); |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
122 displayFrame(increase, messageStatus); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
123 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
124 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
125 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
126 static Color complementary(Color in) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
127 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
128 if (in != null) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
129 float hsb [] = Color.RGBtoHSB(in.getRed(), |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
130 in.getGreen(), |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
131 in.getBlue(), null); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
132 return Color.getHSBColor(hsb[0], hsb[1], 1 - hsb[2]); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
133 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
134 return Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
135 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
136 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
137 void nextFrame() |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
138 { |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
139 displayFrame(1, MessageStatus.TIMEOUT); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
140 } |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
141 |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
142 void displayFrame(int increase, MessageStatus messageStatus) |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
143 { |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
144 int numFrames = this.numFrames(); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
145 frameNumber = (frameNumber + increase + numFrames) % numFrames; |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
146 foregroundColor = null; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
147 backgroundColor = null; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
148 outlineColor = null; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
149 messageText = new Vector<String>(0); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
150 messageBBox = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
151 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
152 switch (frameNumber) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
153 case 0: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
154 messageText.add("This screen should appear all BLACK!"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
155 messageText.add("Please check for any dead pixels."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
156 messageText.add(""); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
157 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
|
158 backgroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
159 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
160 case 1: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
161 messageText.add("This screen should appear all WHITE!"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
162 messageText.add("Please check for any dead pixels."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
163 messageText.add(""); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
164 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
|
165 backgroundColor = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
166 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
167 case 2: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
168 messageText.add("This screen should appear all RED!"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
169 messageText.add("Please check for any dead pixels."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
170 backgroundColor = Color.RED; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
171 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
172 case 3: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
173 messageText.add("This screen should appear all GREEN!"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
174 messageText.add("Please check for any dead pixels."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
175 backgroundColor = Color.GREEN; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
176 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
177 case 4: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
178 messageText.add("This screen should appear all BLUE!"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
179 messageText.add("Please check for any dead pixels."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
180 backgroundColor = Color.BLUE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
181 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
182 case 5: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
183 messageText.add("This screen contains vertical stripes"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
184 messageText.add("Please adjust your screen so they are perfectly vertical"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
185 messageText.add(""); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
186 messageText.add("(Primarily applies to CRT screens)"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
187 foregroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
188 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
189 case 6: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
190 messageText.add("This screen contains horizontal stripes"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
191 messageText.add("Please adjust your screen so they are perfectly horizontal"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
192 messageText.add(""); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
193 messageText.add("(Primarily applies to CRT screens)"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
194 foregroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
195 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
196 case 7: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
197 messageText.add("This screen contains a chess pattern"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
198 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
|
199 messageText.add(""); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
200 messageText.add("(Primarily applies to CRT screens)"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
201 foregroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
202 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
203 case 8: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
204 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
|
205 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
|
206 backgroundColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
207 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
208 case 9: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
209 messageText.add("This screen contains a round circle"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
210 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
|
211 foregroundColor = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
212 backgroundColor = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
213 outlineColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
214 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
215 case 10: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
216 messageText.add("This screen contains a medium size chess pattern"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
217 messageText.add("Please adjust your brightness and contrast."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
218 foregroundColor = Color.RED; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
219 backgroundColor = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
220 outlineColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
221 messageBBox = true; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
222 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
223 case 11: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
224 messageText.add("This screen contains a pixel size chess pattern"); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
225 messageText.add("Please adjust your brightness and contrast."); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
226 foregroundColor = Color.RED; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
227 backgroundColor = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
228 outlineColor = Color.BLACK; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
229 messageBBox = true; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
230 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
231 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
232 messageTimeout.stop(); |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
233 messageVisible = !(messageStatus == MessageStatus.HIDE); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
234 |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
235 if (messageStatus == MessageStatus.TIMEOUT) |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
236 messageTimeout.start(); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
237 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
238 if (foregroundColor == null) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
239 foregroundColor = complementary(backgroundColor); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
240 //messageText.setForeground(foregroundColor); |
|
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 repaint(); |
|
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 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
245 int numFrames() |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
246 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
247 return 12; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
248 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
249 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
250 public static final void main(final String[] args) throws Exception |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
251 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
252 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
253 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
254 Log.DEFAULT = new Log(new VoidStream()); |
|
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 boolean fullscreen = true; |
|
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 if (args.length >= 1) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
259 fullscreen = false; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
260 } |
|
2
77e2655ac09d
Whitespace clean.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
1
diff
changeset
|
261 |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
262 final JFrame fullscreenFrame = new ScreenAdjuster(fullscreen); |
|
2
77e2655ac09d
Whitespace clean.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
1
diff
changeset
|
263 |
|
0
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 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
266 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
|
267 { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
268 Rectangle cbounds = g.getClipBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
269 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
270 g.setColor(Color.WHITE); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
271 g.fillRect(bounds.x, bounds.y, bounds.width, bounds.height); |
|
2
77e2655ac09d
Whitespace clean.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
1
diff
changeset
|
272 |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
273 //Offset xmin by 1, if cliparea is on an odd boundary |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
274 int xmin = bounds.x; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
275 int xmax = bounds.x + bounds.width; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
276 int ymin = bounds.y; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
277 int ymax = bounds.y + bounds.height; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
278 int hcolor = -1; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
279 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
280 Color colors[] = { Color.BLACK, Color.RED, |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
281 Color.GREEN, Color.BLUE, Color.WHITE }; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
282 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
283 if (numColors <= 2) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
284 if (alternativeColors) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
285 colors[0] = Color.YELLOW; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
286 colors[1] = Color.BLUE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
287 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
288 else { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
289 colors[1] = Color.WHITE; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
290 } |
|
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 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
293 g.setColor(Color.BLACK); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
294 for (int x = xmin; x < xmax; x += size) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
295 if ((mode & 0x1) > 0) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
296 hcolor = (hcolor + 1) % numColors; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
297 int color = hcolor; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
298 for (int y = ymin; y < ymax; y += size) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
299 if ((mode & 0x2) > 0) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
300 color = (color + 1) % numColors; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
301 g.setColor(colors[color]); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
302 g.fillRect(x, y, size, size); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
303 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
304 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
305 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
306 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
307 public void paint(Graphics g) |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
308 { |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
309 resetSize(); |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
310 super.paint(g2); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
311 Rectangle cbounds = g.getClipBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
312 Rectangle bounds = getBounds(); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
313 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
314 Log.DEFAULT.println(frameNumber); |
|
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 |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
317 if (backgroundColor != null) { |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
318 g2.setColor(backgroundColor); |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
319 g2.fillRect(bounds.x, bounds.y, bounds.width, bounds.height); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
320 } |
|
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 switch (frameNumber) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
323 case 0: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
324 case 1: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
325 case 2: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
326 case 3: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
327 case 4: |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
328 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
329 case 11: { |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
330 g2.setColor(Color.BLACK); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
331 //Offset xmin by 1, if cliparea is on an odd boundary |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
332 int xmin = cbounds.x + ((cbounds.x - bounds.x) & 0x1); |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
333 int xmax = cbounds.x + cbounds.width; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
334 for (int x = xmin; x < xmax; x += 2) { |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
335 g2.drawLine(x, bounds.y, x, bounds.y + bounds.height); |
|
0
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 for (int y = bounds.y; y < bounds.y + bounds.height; y += 2) { |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
338 g2.drawLine(bounds.x, y, bounds.x + bounds.width, y); |
|
0
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 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
341 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
342 case 7: { |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
343 paintCheckers(g2, bounds, 50, 2, 3, true); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
344 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
345 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
346 case 10: { |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
347 paintCheckers(g2, bounds, 5, 2, 3, false); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
348 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
349 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
350 case 9: { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
351 int x = bounds.x; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
352 int y = bounds.y; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
353 int height = bounds.height - y; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
354 int width = bounds.width - x; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
355 int diameter; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
356 if (height < width) { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
357 diameter = height; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
358 x += (width - height) /2; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
359 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
360 else { |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
361 diameter = width; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
362 y += (height - width) /2; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
363 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
364 Log.DEFAULT.println("Geometry:"+bounds.x+"x"+bounds.y+":"+bounds.width + "x" + bounds.height); |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
365 g2.setColor(Color.BLACK); |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
366 g2.fillOval(x, y, diameter, diameter); |
|
2
77e2655ac09d
Whitespace clean.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
1
diff
changeset
|
367 |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
368 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
369 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
370 case 8: { |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
371 g2.setColor(Color.YELLOW); |
|
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
372 g2.drawRect(bounds.x+1, bounds.y+1, bounds.width-2, bounds.height-2); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
373 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
374 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
375 case 5: { |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
376 paintCheckers(g2, bounds, 50, 2, 2, true); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
377 break; |
|
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 case 6: { |
|
4
265f66a2f14f
Doublebuffering.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
2
diff
changeset
|
380 paintCheckers(g2, bounds, 50, 2, 1, true); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
381 break; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
382 } |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
383 }; |
|
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
384 if (messageVisible) { |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
385 drawMessage(g2); |
|
2
77e2655ac09d
Whitespace clean.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
1
diff
changeset
|
386 } |
|
6
9e99396a84ef
Whitespace cleanup.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
5
diff
changeset
|
387 ((Graphics2D) g).drawImage(bufferedImage, null, 0, 0); |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
388 } |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
389 |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
390 void drawMessage(Graphics2D g2) |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
391 { |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
392 Font font = g2.getFont(); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
393 Rectangle bounds = getBounds(); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
394 |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
395 font = new Font(font.getFontName(), |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
396 font.getStyle(), |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
397 (int)(font.getSize2D() * 2)); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
398 double fontHeight = font.getMaxCharBounds(g2.getFontRenderContext()).getHeight(); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
399 double totalHeight = fontHeight * messageText.size(); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
400 double y = (bounds.height - totalHeight) /2.0; |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
401 |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
402 for (int i = 0; i < messageText.size(); ++i) { |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
403 String text = messageText.get(i); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
404 if (text.length() > 0 ) { |
|
2
77e2655ac09d
Whitespace clean.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
1
diff
changeset
|
405 TextLayout tl = |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
406 new TextLayout(messageText.get(i), |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
407 font, g2.getFontRenderContext()); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
408 double textWidth = tl.getBounds().getWidth(); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
409 double x = (bounds.width - textWidth) /2.0; |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
410 |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
411 Shape outline = |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
412 tl.getOutline(AffineTransform.getTranslateInstance(x,y)); |
|
2
77e2655ac09d
Whitespace clean.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
1
diff
changeset
|
413 |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
414 Rectangle tBounds = outline.getBounds(); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
415 |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
416 if (messageBBox) { |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
417 g2.setColor(backgroundColor); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
418 g2.fillRect(tBounds.x, tBounds.y, tBounds.width, tBounds.height); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
419 } |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
420 g2.setColor(foregroundColor); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
421 g2.fill(outline); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
422 if (outlineColor != null) { |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
423 g2.setColor(outlineColor); |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
424 } |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
425 g2.draw(outline); |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
426 } |
|
1
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
427 y += fontHeight; |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
428 } |
|
c5bdb7bee4a7
Refactor displayMessage.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
0
diff
changeset
|
429 |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
430 } |
|
2
77e2655ac09d
Whitespace clean.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
1
diff
changeset
|
431 |
|
0
855307f4bf5e
Working version.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff
changeset
|
432 } |
