1/*
2* Copyright (c) 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 7012008
27* @summary Verify JDesktopPane Background Color for WLAF
28* @requires (os.family == "windows")
29* @run main DesktopPaneBackgroundTest
30 */
31import java.awt.Color;
32import java.awt.Toolkit;
33import javax.swing.JDesktopPane;
34import javax.swing.SwingUtilities;
35import javax.swing.UIManager;
36
37public class DesktopPaneBackgroundTest {
38
39    private static Color defaultBackgroudColor;
40
41    public static void main(String[] args) throws Exception {
42        defaultBackgroudColor = (Color) Toolkit.getDefaultToolkit()
43                .getDesktopProperty("win.mdi.backgroundColor");
44
45        String[] lookAndFeel = new String[]{
46            "com.sun.java.swing.plaf.windows.WindowsLookAndFeel",
47            "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel"};
48
49        for (String laf : lookAndFeel) {
50            UIManager.setLookAndFeel(laf);
51
52            SwingUtilities.invokeAndWait(() -> {
53                JDesktopPane desktopPane = new JDesktopPane();
54
55                Color background = desktopPane.getBackground();
56                if (!background.equals(defaultBackgroudColor)) {
57                    throw new RuntimeException("Invalid JDesktopPane "
58                            + "Background Color for WLAF");
59                }
60            });
61        }
62    }
63}
64