Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/demo/share/jfc/J2Ddemo/java2d/AnimatingControlsSurface.java
41154 views
1
/*
2
*
3
* Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* - Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
*
12
* - Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* - Neither the name of Oracle nor the names of its
17
* contributors may be used to endorse or promote products derived
18
* from this software without specific prior written permission.
19
*
20
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*/
32
package java2d;
33
34
35
import static java2d.CustomControlsContext.State.START;
36
import java.awt.Component;
37
38
39
/**
40
* Demos that animate and have custom controls extend this class.
41
*/
42
@SuppressWarnings("serial")
43
public abstract class AnimatingControlsSurface extends AnimatingSurface
44
implements CustomControlsContext {
45
46
@Override
47
public void setControls(Component[] controls) {
48
this.controls = controls;
49
}
50
51
@Override
52
public void setConstraints(String[] constraints) {
53
this.constraints = constraints;
54
}
55
56
@Override
57
public String[] getConstraints() {
58
return constraints;
59
}
60
61
@Override
62
public Component[] getControls() {
63
return controls;
64
}
65
66
@Override
67
public void handleThread(CustomControlsContext.State state) {
68
for (Component control : controls) {
69
if (control instanceof CustomControls) {
70
if (state == START) {
71
((CustomControls) control).start();
72
} else {
73
((CustomControls) control).stop();
74
}
75
}
76
}
77
}
78
79
private Component[] controls;
80
private String[] constraints = { java.awt.BorderLayout.NORTH };
81
}
82
83