1/*
2 * Copyright (c) 2014, 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
25import javax.swing.JComponent;
26import javax.swing.JTable;
27import javax.swing.event.TableModelEvent;
28import javax.swing.event.TableModelListener;
29
30/**
31 * AWT/Swing overlapping test for {@link javax.swing.JTable } component in GlassPane.
32 * <p>See base class for details.
33 */
34/*
35 * @test
36 * @key headful
37 * @summary Simple Overlapping test for JTable
38 * @author sergey.grinev@oracle.com: area=awt.mixing
39 * @library /java/awt/patchlib  ../../regtesthelpers
40 * @modules java.desktop/sun.awt
41 *          java.desktop/java.awt.peer
42 * @build java.desktop/java.awt.Helper
43 * @build Util
44 * @run main JTableInGlassPaneOverlapping
45 */
46public class JTableInGlassPaneOverlapping extends GlassPaneOverlappingTestBase {
47
48    {
49        testResize = false;
50    }
51
52    @Override
53    protected JComponent getSwingComponent() {
54        // Create columns names
55        String columnNames[] = {"Column 1", "Column 2", "Column 3"};
56
57        // Create some data
58        String dataValues[][] = {
59            {"12", "234", "67"},
60            {"-123", "43", "853"},
61            {"93", "89.2", "109"},
62            {"279", "9033", "3092"},
63            {"12", "234", "67"},
64            {"-123", "43", "853"},
65            {"93", "89.2", "109"},
66            {"279", "9033", "3092"},
67            {"12", "234", "67"},
68            {"-123", "43", "853"},
69            {"93", "89.2", "109"},
70            {"279", "9033", "3092"},
71            {"12", "234", "67"},
72            {"-123", "43", "853"},
73            {"93", "89.2", "109"},
74            {"279", "9033", "3092"}
75        };
76
77        // Create a new table instance
78        JTable jt = new JTable(dataValues, columnNames);
79        jt.getModel().addTableModelListener(new TableModelListener() {
80
81            public void tableChanged(TableModelEvent e) {
82                System.err.println("table changed");
83            }
84        });
85        return jt;
86    }
87
88    // this strange plumbing stuff is required due to "Standard Test Machinery" in base class
89    public static void main(String args[]) throws InterruptedException {
90        instance = new JTableInGlassPaneOverlapping();
91        OverlappingTestBase.doMain(args);
92    }
93}
94