Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/awt/Component/PaintAll/PaintAll.java
41153 views
1
/*
2
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
import java.awt.Button;
25
import java.awt.Canvas;
26
import java.awt.Checkbox;
27
import java.awt.Choice;
28
import java.awt.Component;
29
import java.awt.Container;
30
import java.awt.Dimension;
31
import java.awt.Frame;
32
import java.awt.Graphics;
33
import java.awt.GridLayout;
34
import java.awt.Label;
35
import java.awt.List;
36
import java.awt.Panel;
37
import java.awt.ScrollPane;
38
import java.awt.Scrollbar;
39
import java.awt.TextArea;
40
import java.awt.TextField;
41
import java.awt.Toolkit;
42
import java.awt.image.BufferedImage;
43
44
/*
45
@test
46
@key headful
47
@bug 6596915
48
@summary Test Component.paintAll() method
49
@author [email protected]: area=awt.component
50
@library /lib/client/
51
@build ExtendedRobot
52
@run main PaintAll
53
*/
54
public class PaintAll {
55
56
private static volatile boolean lwPainted;
57
private static volatile boolean buttonPainted;
58
private static volatile boolean canvasPainted;
59
private static volatile boolean checkboxPainted;
60
private static volatile boolean choicePainted;
61
private static volatile boolean containerPainted;
62
private static volatile boolean framePainted;
63
private static volatile boolean labelPainted;
64
private static volatile boolean listPainted;
65
private static volatile boolean panelPainted;
66
private static volatile boolean scrollbarPainted;
67
private static volatile boolean scrollPanePainted;
68
private static volatile boolean textAreaPainted;
69
private static volatile boolean textFieldPainted;
70
private static ExtendedRobot robot = null;
71
72
private static final Button buttonStub = new Button() {
73
@Override
74
public void paint(final Graphics g) {
75
buttonPainted = true;
76
}
77
};
78
79
private static final Canvas canvasStub = new Canvas() {
80
@Override
81
public void paint(final Graphics g) {
82
canvasPainted = true;
83
}
84
};
85
86
private static final Checkbox checkboxStub = new Checkbox() {
87
@Override
88
public void paint(final Graphics g) {
89
checkboxPainted = true;
90
}
91
};
92
93
private static final Choice choiceStub = new Choice() {
94
@Override
95
public void paint(final Graphics g) {
96
choicePainted = true;
97
}
98
};
99
100
private static final Component lwComponentStub = new Component() {
101
@Override
102
public void paint(final Graphics g) {
103
lwPainted = true;
104
}
105
};
106
107
private static final Container containerStub = new Container() {
108
@Override
109
public void paint(final Graphics g) {
110
containerPainted = true;
111
}
112
};
113
114
private static final Frame frame = new Frame() {
115
@Override
116
public void paint(final Graphics g) {
117
super.paint(g);
118
framePainted = true;
119
}
120
};
121
122
private static final Label labelStub = new Label() {
123
@Override
124
public void paint(final Graphics g) {
125
labelPainted = true;
126
}
127
};
128
129
private static final List listStub = new List() {
130
@Override
131
public void paint(final Graphics g) {
132
listPainted = true;
133
}
134
};
135
136
private static final Panel panelStub = new Panel() {
137
@Override
138
public void paint(final Graphics g) {
139
panelPainted = true;
140
}
141
};
142
143
private static final Scrollbar scrollbarStub = new Scrollbar() {
144
@Override
145
public void paint(final Graphics g) {
146
scrollbarPainted = true;
147
}
148
};
149
150
private static final ScrollPane scrollPaneStub = new ScrollPane() {
151
@Override
152
public void paint(final Graphics g) {
153
scrollPanePainted = true;
154
}
155
};
156
157
private static final TextArea textAreaStub = new TextArea() {
158
@Override
159
public void paint(final Graphics g) {
160
textAreaPainted = true;
161
}
162
};
163
164
private static final TextField textFieldStub = new TextField() {
165
@Override
166
public void paint(final Graphics g) {
167
textFieldPainted = true;
168
}
169
};
170
171
public static void main(final String[] args) throws Exception {
172
//Frame initialisation
173
final BufferedImage graphicsProducer =
174
new BufferedImage(BufferedImage.TYPE_INT_ARGB, 1, 1);
175
176
final Graphics g = graphicsProducer.getGraphics();
177
178
frame.setLayout(new GridLayout());
179
frame.add(buttonStub);
180
frame.add(canvasStub);
181
frame.add(checkboxStub);
182
frame.add(choiceStub);
183
frame.add(lwComponentStub);
184
frame.add(containerStub);
185
frame.add(labelStub);
186
frame.add(listStub);
187
frame.add(panelStub);
188
frame.add(scrollbarStub);
189
frame.add(scrollPaneStub);
190
frame.add(textAreaStub);
191
frame.add(textFieldStub);
192
frame.setSize(new Dimension(500, 500));
193
frame.setLocationRelativeTo(null);
194
frame.setVisible(true);
195
sleep();
196
197
//Check results.
198
validation();
199
200
//Reset all flags to 'false'.
201
initPaintedFlags();
202
203
//Tested method.
204
frame.paintAll(g);
205
sleep();
206
207
//Check results.
208
validation();
209
cleanup();
210
}
211
212
private static void initPaintedFlags() {
213
lwPainted = false;
214
buttonPainted = false;
215
canvasPainted = false;
216
checkboxPainted = false;
217
choicePainted = false;
218
containerPainted = false;
219
framePainted = false;
220
labelPainted = false;
221
listPainted = false;
222
panelPainted = false;
223
scrollbarPainted = false;
224
scrollPanePainted = false;
225
textAreaPainted = false;
226
textFieldPainted = false;
227
}
228
229
private static void validation() {
230
if (!buttonPainted) {
231
fail("Paint is not called a Button "
232
+ "when paintAll() invoked on a parent");
233
}
234
if (!canvasPainted) {
235
fail("Paint is not called a Canvas "
236
+ "when paintAll() invoked on a parent");
237
}
238
if (!checkboxPainted) {
239
fail("Paint is not called a Checkbox "
240
+ "when paintAll() invoked on a parent");
241
}
242
if (!choicePainted) {
243
fail("Paint is not called a Choice "
244
+ "when paintAll() invoked on a parent");
245
}
246
if (!lwPainted) {
247
fail("Paint is not called on a lightweight"
248
+ " subcomponent when paintAll() invoked on a parent");
249
}
250
if (!containerPainted) {
251
fail("Paint is not called on a Container"
252
+ " subcomponent when paintAll() invoked on a parent");
253
}
254
if (!labelPainted) {
255
fail("Paint is not called on a Label"
256
+ " subcomponent when paintAll() invoked on a parent");
257
}
258
if (!listPainted) {
259
fail("Paint is not called on a List"
260
+ " subcomponent when paintAll() invoked on a parent");
261
}
262
if (!panelPainted) {
263
fail("Paint is not called on a Panel"
264
+ " subcomponent when paintAll() invoked on a parent");
265
}
266
if (!scrollbarPainted) {
267
fail("Paint is not called on a Scrollbar"
268
+ " subcomponent when paintAll() invoked on a parent");
269
}
270
if (!scrollPanePainted) {
271
fail("Paint is not called on a ScrollPane"
272
+ " subcomponent when paintAll() invoked on a parent");
273
}
274
if (!textAreaPainted) {
275
fail("Paint is not called on a TextArea"
276
+ " subcomponent when paintAll() invoked on a parent");
277
}
278
if (!textFieldPainted) {
279
fail("Paint is not called on a TextField"
280
+ " subcomponent when paintAll() invoked on a parent");
281
}
282
if (!framePainted) {
283
fail("Paint is not called on a Frame when paintAll()");
284
}
285
}
286
287
private static void sleep() {
288
if(robot == null) {
289
try {
290
robot = new ExtendedRobot();
291
}catch(Exception ex) {
292
ex.printStackTrace();
293
throw new RuntimeException("Unexpected failure");
294
}
295
}
296
robot.waitForIdle(500);
297
}
298
299
private static void fail(final String message) {
300
cleanup();
301
throw new RuntimeException(message);
302
}
303
304
private static void cleanup() {
305
frame.dispose();
306
}
307
}
308
309