Requests focus unless the component already has focus : Focus « Swing JFC « Java






Requests focus unless the component already has focus

   
import java.awt.Component;
import java.awt.KeyboardFocusManager;
/**
 * Copyright (C) 2004 NNL Technology AB
 * Visit www.infonode.net for information about InfoNode(R) 
 * products and how to contact NNL Technology AB.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, 
 * MA 02111-1307, USA.
 */


// $Id: ComponentUtil.java,v 1.25 2005/12/04 13:46:04 jesper Exp $


public class Util {

  /**
   * Requests focus unless the component already has focus. For some weird
   * reason calling {@link Component#requestFocusInWindow()}when the
   * component is focus owner changes focus owner to another component!
   *
   * @param component the component to request focus for
   * @return true if the component has focus or probably will get focus,
   *         otherwise false
   */
  public static boolean requestFocus(Component component) {
    /*
     * System.out.println("Owner: " +
     * System.identityHashCode(KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner()) + ", " +
     * System.identityHashCode(component) + ", " +
     * (KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner() ==
     * component));
     */
    return KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner() == component ||
           component.requestFocusInWindow();
  }
}

   
    
    
  








Related examples in the same category

1.Focus Cycle SampleFocus Cycle Sample
2.Button FocusButton Focus
3.Focus Traversal ExampleFocus Traversal Example
4.Focus ExampleFocus Example
5.Focus Concepts DemoFocus Concepts Demo
6.Track Focus Demo
7.Focus Traversal DemoFocus Traversal Demo
8.Use this method to determine whether a particular component has the focus
9.Handling Focus Changes
10.Requests focus for a component