The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > java.awt  [78 examples] > Focus  [16 examples]

e621. Activating a Keystroke When Any Child Component Has Focus

Normally, a keystroke registered on a component is activated when the component has the focus. This type of activation condition is called WHEN_FOCUSED. It is possible to specify that a keystroke be activated if it or any child or descendant component has the focus. This type of keystroke activation condition is called WHEN_ANCESTOR_OF_FOCUSED_COMPONENT.

An example where this type of keystroke activation condition is useful is in the case of a scrollpane that handles scrolling navigation keystrokes even when the child component has the focus.

There are three types of activation conditions available: WHEN_FOCUSED, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, and WHEN_IN_FOCUSED_WINDOW. See e620 Activating a Keystroke When Any Component in the Window Has Focus for more details about these activation conditions.

    // To create an action, see e855 Creating an Action
    
    // Register keystroke
    component.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
        KeyStroke.getKeyStroke("F2"), action.getValue(Action.NAME));
    
    // Register action
    component.getActionMap().put(action.getValue(Action.NAME), action);

 Related Examples
e606. Determining Which Component or Window Has the Focus
e607. Preventing a Component from Gaining the Focus
e608. Preventing a Window from Gaining the Focus
e609. Listening to All Focus Changes Between Components in an Application
e610. Setting Focus Traversal Keys in a Component
e611. Setting Focus Traversal Keys for the Entire Application
e612. Moving the Focus to the Next or Previous Focusable Component
e613. Modifying the Focus Traversal Order
e614. Setting the Initial Focused Component in a Window
e615. Finding the Next Focusable Component
e616. Determining If a Focus Lost Is Temporary or Permanent
e617. Determining the Opposite Component of a Focus Event
e618. Validating a JTextField When Permanently Losing the Focus
e619. Removing the Focus from the Application
e620. Activating a Keystroke When Any Component in the Window Has Focus

See also: Colors    Components    Containers    Cursors    Drawing    Events    Frames    GridBagLayout    Images    Shapes    Simulating Events    Text    The Screen   


© 2002 Addison-Wesley.