1 /*
2 * Copyright (c) 1997, 2011, 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. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
1738 *
1739 * @since 1.3
1740 */
1741 public static ActionMap getUIActionMap(JComponent component) {
1742 ActionMap map = component.getActionMap(false);
1743 while (map != null) {
1744 ActionMap parent = map.getParent();
1745 if (parent instanceof UIResource) {
1746 return parent;
1747 }
1748 map = parent;
1749 }
1750 return null;
1751 }
1752
1753
1754 // Don't use String, as it's not guaranteed to be unique in a Hashtable.
1755 private static final Object sharedOwnerFrameKey =
1756 new StringBuffer("SwingUtilities.sharedOwnerFrame");
1757
1758 static class SharedOwnerFrame extends Frame implements WindowListener {
1759 public void addNotify() {
1760 super.addNotify();
1761 installListeners();
1762 }
1763
1764 /**
1765 * Install window listeners on owned windows to watch for displayability changes
1766 */
1767 void installListeners() {
1768 Window[] windows = getOwnedWindows();
1769 for (Window window : windows) {
1770 if (window != null) {
1771 window.removeWindowListener(this);
1772 window.addWindowListener(this);
1773 }
1774 }
1775 }
1776
1777 /**
|
1 /*
2 * Copyright (c) 1997, 2014, 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. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
1738 *
1739 * @since 1.3
1740 */
1741 public static ActionMap getUIActionMap(JComponent component) {
1742 ActionMap map = component.getActionMap(false);
1743 while (map != null) {
1744 ActionMap parent = map.getParent();
1745 if (parent instanceof UIResource) {
1746 return parent;
1747 }
1748 map = parent;
1749 }
1750 return null;
1751 }
1752
1753
1754 // Don't use String, as it's not guaranteed to be unique in a Hashtable.
1755 private static final Object sharedOwnerFrameKey =
1756 new StringBuffer("SwingUtilities.sharedOwnerFrame");
1757
1758 @SuppressWarnings("serial") // JDK-implementation class
1759 static class SharedOwnerFrame extends Frame implements WindowListener {
1760 public void addNotify() {
1761 super.addNotify();
1762 installListeners();
1763 }
1764
1765 /**
1766 * Install window listeners on owned windows to watch for displayability changes
1767 */
1768 void installListeners() {
1769 Window[] windows = getOwnedWindows();
1770 for (Window window : windows) {
1771 if (window != null) {
1772 window.removeWindowListener(this);
1773 window.addWindowListener(this);
1774 }
1775 }
1776 }
1777
1778 /**
|