ScrollPanePreferredSize.java revision 8729:0242fce0f717
1229997Sken/*
2229997Sken * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
3229997Sken * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4229997Sken *
5229997Sken * This code is free software; you can redistribute it and/or modify it
6229997Sken * under the terms of the GNU General Public License version 2 only, as
7229997Sken * published by the Free Software Foundation.
8229997Sken *
9229997Sken * This code is distributed in the hope that it will be useful, but WITHOUT
10229997Sken * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11229997Sken * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12229997Sken * version 2 for more details (a copy is included in the LICENSE file that
13229997Sken * accompanied this code).
14229997Sken *
15229997Sken * You should have received a copy of the GNU General Public License version
16229997Sken * 2 along with this work; if not, write to the Free Software Foundation,
17229997Sken * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18229997Sken *
19229997Sken * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20229997Sken * or visit www.oracle.com if you need additional information or have any
21229997Sken * questions.
22229997Sken */
23229997Sken
24229997Skenimport java.awt.Dimension;
25229997Skenimport java.awt.Frame;
26229997Skenimport java.awt.ScrollPane;
27229997Skenimport java.awt.Toolkit;
28229997Sken
29229997Skenimport sun.awt.SunToolkit;
30229997Sken
31229997Sken/**
32229997Sken * @test
33229997Sken * @bug 7124213
34229997Sken * @author Sergey Bylokhov
35229997Sken */
36229997Skenpublic final class ScrollPanePreferredSize {
37229997Sken
38229997Sken    public static void main(final String[] args) {
39229997Sken        final Dimension expected = new Dimension(300, 300);
40229997Sken        final Frame frame = new Frame();
41229997Sken        final ScrollPane sp = new ScrollPane();
42229997Sken        sp.setSize(expected);
43229997Sken        frame.add(sp);
44229997Sken        frame.pack();
45229997Sken        frame.setLocationRelativeTo(null);
46229997Sken        frame.setVisible(true);
47229997Sken        sleep();
48229997Sken        final Dimension size = frame.getSize();
49229997Sken        if (size.width < expected.width || size.height < expected.height) {
50229997Sken            throw new RuntimeException(
51229997Sken                    "Expected size: >= " + expected + ", actual size: " + size);
52229997Sken        }
53229997Sken        frame.dispose();
54229997Sken    }
55229997Sken
56229997Sken    private static void sleep() {
57229997Sken        ((SunToolkit) Toolkit.getDefaultToolkit()).realSync();
58229997Sken        try {
59229997Sken            Thread.sleep(500L);
60229997Sken        } catch (InterruptedException ignored) {
61229997Sken        }
62229997Sken    }
63229997Sken}
64229997Sken