2N/A * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. 2N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2N/A * This code is free software; you can redistribute it and/or modify it 2N/A * under the terms of the GNU General Public License version 2 only, as 2N/A * published by the Free Software Foundation. Oracle designates this 2N/A * particular file as subject to the "Classpath" exception as provided 2N/A * by Oracle in the LICENSE file that accompanied this code. 2N/A * This code is distributed in the hope that it will be useful, but WITHOUT 2N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 2N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 2N/A * version 2 for more details (a copy is included in the LICENSE file that 2N/A * accompanied this code). 2N/A * You should have received a copy of the GNU General Public License version 2N/A * 2 along with this work; if not, write to the Free Software Foundation, 2N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2N/A * or visit www.oracle.com if you need additional information or have any * Utility class perform animated full screen actions to top-level {@link Window}s. * This class manages the relationship between {@link Windows}s and the {@link FullScreenListener}s * attached to them. It's design is similar to the Java SE 6u10 {@link com.sun.awt.AWTUtilities} * class which adds additional functionality to AWT Windows, without adding new API to the * {@link java.awt.Window} class. * Full screen operations can only be performed on top-level {@link Window}s that are also {@link RootPaneContainer}s. * @see com.sun.awt.AWTUtilities * @since Java for Mac OS X 10.7 Update 1 * Marks a {@link Window} as able to animate into or out of full screen mode. * Only top-level {@link Window}s which are {@link RootPaneContainer}s are able to be animated into and out of full screen mode. * The {@link Window} must be marked as full screen-able before the native peer is created with {@link Component#addNotify()}. * @throws IllegalArgumentException if window is not a {@link RootPaneContainer} * Attaches a {@link FullScreenListener} to the specified top-level {@link Window}. * @param window to attach the {@link FullScreenListener} to * @param listener to be notified when a full screen event occurs * @throws IllegalArgumentException if window is not a {@link RootPaneContainer} * Removes a {@link FullScreenListener} from the specified top-level {@link Window}. * @param window to remove the {@link FullScreenListener} from * @param listener to be removed * @throws IllegalArgumentException if window is not a {@link RootPaneContainer}