Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/test/java/awt/ComponentOrientation/WindowTest.java
47490 views
1
/*
2
* Copyright (c) 1998, 2016, 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
/**
25
* @test
26
* @bug 4108453 4778440 6304785
27
* @summary Test Window.applyResourceBundle orientation support
28
*
29
* @build TestBundle TestBundle_es TestBundle_iw
30
* @build TestBundle1 TestBundle1_ar
31
* @run main WindowTest
32
*/
33
34
import java.awt.*;
35
import java.applet.*;
36
import java.util.Locale;
37
import java.util.ResourceBundle;
38
39
public class WindowTest extends Applet {
40
static Exception failure=null;
41
static Thread mainThread=null;
42
43
public static void main(String args[]) throws Exception {
44
mainThread = Thread.currentThread();
45
WindowTest app = new WindowTest();
46
app.start();
47
try {
48
Thread.sleep(300000);
49
} catch (InterruptedException e) {
50
if (failure != null) {
51
throw failure;
52
}
53
}
54
}
55
56
public void start() {
57
try {
58
doTest();
59
} catch (Exception e) {
60
failure = e;
61
}
62
mainThread.interrupt();
63
}
64
65
public void doTest() {
66
System.out.println("WindowTest {");
67
68
ResourceBundle rb;
69
Frame myFrame;
70
71
// Create a window containing a hierarchy of components.
72
System.out.println(" Creating component hierarchy...");
73
myFrame = new Frame();
74
myFrame.setLayout(new FlowLayout());
75
Panel panel1 = new Panel();
76
panel1.setLayout(new BorderLayout());
77
panel1.add("North", new Button("North"));
78
panel1.add("South", new Button("South"));
79
panel1.add("East", new Button("East"));
80
panel1.add("West", new Button("West"));
81
panel1.add("Center", new Button("Center"));
82
myFrame.add(panel1);
83
84
Panel panel2 = new Panel();
85
panel2.setLayout(new BorderLayout());
86
panel2.add(BorderLayout.BEFORE_FIRST_LINE, new Button("FirstLine"));
87
panel2.add(BorderLayout.AFTER_LAST_LINE, new Button("LastLine"));
88
panel2.add(BorderLayout.BEFORE_LINE_BEGINS, new Button("FirstItem"));
89
panel2.add(BorderLayout.AFTER_LINE_ENDS, new Button("LastItem"));
90
panel2.add("Center", new Button("Center"));
91
myFrame.add(panel2);
92
93
// After construction, all of the components' orientations should be
94
// set to ComponentOrientation.UNKNOWN.
95
System.out.println(" Verifying orientation is UNKNOWN...");
96
verifyOrientation(myFrame, ComponentOrientation.UNKNOWN);
97
98
// This will load TestBundle1 using the default locale and apply
99
// it to the component hierarchy. Since the bundle has no Orientation
100
// specified, this should fall back to the bundle-locale's orientation
101
System.out.println(" Applying TestBundle1 by name and verifying...");
102
myFrame.applyResourceBundle("TestBundle1");
103
verifyOrientation(myFrame,
104
ComponentOrientation.getOrientation(
105
ResourceBundle.getBundle("TestBundle1", Locale.getDefault())));
106
107
System.out.println(" Applying TestBundle_iw and verifying...");
108
rb = ResourceBundle.getBundle("TestBundle", new Locale("iw", ""));
109
myFrame.applyResourceBundle(rb);
110
verifyOrientation(myFrame, ComponentOrientation.RIGHT_TO_LEFT);
111
112
System.out.println(" Applying TestBundle_es and verifying...");
113
rb = ResourceBundle.getBundle("TestBundle", new Locale("es", ""));
114
myFrame.applyResourceBundle(rb);
115
verifyOrientation(myFrame, ComponentOrientation.LEFT_TO_RIGHT);
116
117
118
myFrame.setVisible(false);
119
myFrame.dispose();
120
System.out.println("}");
121
}
122
123
static void verifyOrientation(Component c, ComponentOrientation orient) {
124
125
ComponentOrientation o = c.getComponentOrientation();
126
127
if (o != orient) {
128
throw new RuntimeException("ERROR: expected " + oString(orient) +
129
", got " + oString(o) +
130
" on component " + c);
131
}
132
133
if (c instanceof Container) {
134
Container cont = (Container) c;
135
int ncomponents = cont.getComponentCount();
136
137
for (int i = 0 ; i < ncomponents ; ++i) {
138
Component comp = cont.getComponent(i);
139
verifyOrientation(comp, orient);
140
}
141
}
142
}
143
144
static String oString(ComponentOrientation o) {
145
if (o == ComponentOrientation.LEFT_TO_RIGHT) {
146
return "LEFT_TO_RIGHT";
147
}
148
else if (o == ComponentOrientation.RIGHT_TO_LEFT) {
149
return "RIGHT_TO_LEFT";
150
}
151
else {
152
return "UNKNOWN";
153
}
154
}
155
}
156
157