Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/demo/share/jfc/J2Ddemo/java2d/ControlsSurface.java
41155 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
33
34
package java2d;
35
36
37
import static java2d.CustomControlsContext.State.START;
38
import java.awt.Component;
39
40
41
/**
42
* The class to utilize custom controls for a Demo.
43
*/
44
@SuppressWarnings("serial")
45
public abstract class ControlsSurface extends Surface implements CustomControlsContext {
46
47
@Override
48
public void setControls(Component[] controls) {
49
this.controls = controls;
50
}
51
52
@Override
53
public void setConstraints(String[] constraints) {
54
this.constraints = constraints;
55
}
56
57
@Override
58
public String[] getConstraints() {
59
return constraints;
60
}
61
62
@Override
63
public Component[] getControls() {
64
return controls;
65
}
66
67
@Override
68
public void handleThread(CustomControlsContext.State state) {
69
for (Component control : controls) {
70
if (control instanceof CustomControls) {
71
if (state == START) {
72
((CustomControls) control).start();
73
} else {
74
((CustomControls) control).stop();
75
}
76
}
77
}
78
}
79
80
private Component[] controls;
81
private String[] constraints = { java.awt.BorderLayout.NORTH };
82
}
83
84