e621. Activating a Keystroke When Any Child Component Has Focus
阿新 • • 發佈:2018-09-06
sed ted ssi tro center tails lsp creat 事件 .
, and
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
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 創建一個事件 // 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 |
e621. Activating a Keystroke When Any Child Component Has Focus