01 /*
02 * Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
03 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
04 *
05 * This code is free software; you can redistribute it and/or modify it
06 * under the terms of the GNU General Public License version 2 only, as
07 * published by the Free Software Foundation. Sun designates this
08 * particular file as subject to the "Classpath" exception as provided
09 * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25 package javax.swing;
26
27 import java.awt.Component;
28 import java.awt.FocusTraversalPolicy;
29
30 /**
31 * A FocusTraversalPolicy which can optionally provide an algorithm for
32 * determining a JInternalFrame's initial Component. The initial Component is
33 * the first to receive focus when the JInternalFrame is first selected. By
34 * default, this is the same as the JInternalFrame's default Component to
35 * focus.
36 *
37 * @author David Mendenhall
38 * @version 1.11, 05/05/07
39 *
40 * @since 1.4
41 */
42 public abstract class InternalFrameFocusTraversalPolicy extends
43 FocusTraversalPolicy {
44
45 /**
46 * Returns the Component that should receive the focus when a
47 * JInternalFrame is selected for the first time. Once the JInternalFrame
48 * has been selected by a call to <code>setSelected(true)</code>, the
49 * initial Component will not be used again. Instead, if the JInternalFrame
50 * loses and subsequently regains selection, or is made invisible or
51 * undisplayable and subsequently made visible and displayable, the
52 * JInternalFrame's most recently focused Component will become the focus
53 * owner. The default implementation of this method returns the
54 * JInternalFrame's default Component to focus.
55 *
56 * @param frame the JInternalFrame whose initial Component is to be
57 * returned
58 * @return the Component that should receive the focus when frame is
59 * selected for the first time, or null if no suitable Component
60 * can be found
61 * @see JInternalFrame#getMostRecentFocusOwner
62 * @throws IllegalArgumentException if window is null
63 */
64 public Component getInitialComponent(JInternalFrame frame) {
65 return getDefaultComponent(frame);
66 }
67 }
|