Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/javax/swing/GroupLayout/8013566/bug8013566.java
41153 views
1
/*
2
* Copyright (c) 2015, 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 8013566
28
* @summary Failure of GroupLayout in combination of addPreferredGap and addGroup's
29
* last row
30
* @author Semyon Sadetsky
31
*/
32
33
import javax.swing.*;
34
35
public class bug8013566 {
36
37
public static void main(String[] args) throws Exception {
38
SwingUtilities.invokeAndWait(new Runnable() {
39
public void run() {
40
final JFrame frame = new JFrame();
41
try {
42
frame.setUndecorated(true);
43
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
44
test(frame);
45
46
47
} finally {
48
frame.dispose();
49
}
50
}
51
});
52
53
System.out.println("ok");
54
}
55
56
static void test(JFrame frame) {
57
JComponent c1 = new JButton("Label1");
58
JComponent c2 = new JButton("Label22");
59
JComponent c3 = new JButton("Label333");
60
61
JPanel panel = new JPanel();
62
GroupLayout layout = new GroupLayout(panel);
63
layout.setAutoCreateContainerGaps(true);
64
layout.setAutoCreateGaps(true);
65
panel.setLayout(layout);
66
67
layout.setHorizontalGroup(layout.createSequentialGroup().addGroup(
68
layout.createParallelGroup().addGroup(
69
layout.createSequentialGroup().addComponent(c1)
70
.addPreferredGap(
71
LayoutStyle.ComponentPlacement.RELATED,
72
50, 200))
73
.addComponent(c2)).addComponent(c3));
74
75
layout.setVerticalGroup(layout.createSequentialGroup()
76
.addComponent(c1).addComponent(c2).addComponent(c3)
77
);
78
79
frame.setContentPane(panel);
80
frame.pack();
81
frame.setVisible(true);
82
83
if (c3.getX() != c1.getX() + c1.getWidth() + 50) {
84
throw new RuntimeException(
85
"Gap between 1st and 3rd component is wrong");
86
}
87
88
}
89
}
90
91