Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/awt/Modal/NpeOnClose/NpeOnCloseTest.java
41153 views
1
/*
2
* Copyright (c) 2007, 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
@key headful
27
@bug 6547881
28
@summary NPE when closing modal dialog
29
@author Oleg Sukhodolsky: area=awt.modal
30
@library ../../regtesthelpers
31
@build Util
32
@run main NpeOnCloseTest
33
*/
34
import java.awt.Dialog;
35
import java.awt.EventQueue;
36
import java.awt.Frame;
37
38
import java.lang.reflect.InvocationTargetException;
39
40
import test.java.awt.regtesthelpers.Util;
41
42
public class NpeOnCloseTest {
43
public static void main(String[] args)
44
{
45
Frame frame1 = new Frame("frame 1");
46
frame1.setBounds(0, 0, 100, 100);
47
frame1.setVisible(true);
48
Util.waitForIdle(null);
49
50
Frame frame2 = new Frame("frame 2");
51
frame2.setBounds(150, 0, 100, 100);
52
frame2.setVisible(true);
53
Util.waitForIdle(null);
54
55
Frame frame3 = new Frame("frame 3");
56
final Dialog dialog = new Dialog(frame3, "dialog", true);
57
dialog.setBounds(300, 0, 100, 100);
58
EventQueue.invokeLater(new Runnable() {
59
public void run() {
60
dialog.setVisible(true);
61
}
62
});
63
try {
64
EventQueue.invokeAndWait(new Runnable() { public void run() {} });
65
Util.waitForIdle(null);
66
EventQueue.invokeAndWait(new Runnable() {
67
public void run() {
68
dialog.dispose();
69
}
70
});
71
}
72
catch (InterruptedException ie) {
73
throw new RuntimeException(ie);
74
}
75
catch (InvocationTargetException ite) {
76
throw new RuntimeException(ite);
77
}
78
79
frame1.dispose();
80
frame2.dispose();
81
frame3.dispose();
82
}
83
}
84
85