下面列出了java.awt.event.KeyListener#keyPressed() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private boolean processComponentKeyListeners(KeyEvent keyEvent) {
Component focusOwner = focusProvider.getFocusOwner();
if (focusOwner == null) {
return false;
}
KeyListener[] keyListeners = focusOwner.getKeyListeners();
for (KeyListener listener : keyListeners) {
int id = keyEvent.getID();
switch (id) {
case KeyEvent.KEY_TYPED:
listener.keyTyped(keyEvent);
break;
case KeyEvent.KEY_PRESSED:
listener.keyPressed(keyEvent);
break;
case KeyEvent.KEY_RELEASED:
listener.keyReleased(keyEvent);
break;
}
}
return keyEvent.isConsumed();
}
private void toggleMode(final HexOrDecimalInput input) {
KeyEvent event = new KeyEvent(input, 0, System.currentTimeMillis(), 0, KeyEvent.VK_M, 'm');
KeyListener[] keyListeners = input.getKeyListeners();
for (KeyListener listener : keyListeners) {
listener.keyPressed(event);
}
}
@Override
protected void processKeyEvent(KeyEvent e) {
KeyStroke ks = KeyStroke.getKeyStrokeForEvent(e);
if (enter.equals(ks)) {
// Prevent JComponent.processKeyBindings() to be called (it is called from
// JComponent.processKeyEvent() ), notify only registered key listeners
int id = e.getID();
for (KeyListener keyListener : getKeyListeners()) {
switch(id) {
case KeyEvent.KEY_TYPED:
keyListener.keyTyped(e);
break;
case KeyEvent.KEY_PRESSED:
keyListener.keyPressed(e);
break;
case KeyEvent.KEY_RELEASED:
keyListener.keyReleased(e);
break;
}
}
if (!e.isConsumed() && id == KeyEvent.KEY_PRESSED) {
synchronized(listeners) {
List<CellEditorListener> list = new ArrayList<CellEditorListener>(listeners);
for (CellEditorListener listener : list) {
listener.editingStopped(new ChangeEvent(this));
}
}
}
e.consume();
} else {
super.processKeyEvent(e);
}
}
@Override
protected void processKeyEvent(KeyEvent e) {
KeyStroke ks = KeyStroke.getKeyStrokeForEvent(e);
if (enter.equals(ks)) {
// Prevent JComponent.processKeyBindings() to be called (it is called from
// JComponent.processKeyEvent() ), notify only registered key listeners
int id = e.getID();
for (KeyListener keyListener : getKeyListeners()) {
switch(id) {
case KeyEvent.KEY_TYPED:
keyListener.keyTyped(e);
break;
case KeyEvent.KEY_PRESSED:
keyListener.keyPressed(e);
break;
case KeyEvent.KEY_RELEASED:
keyListener.keyReleased(e);
break;
}
}
if (!e.isConsumed() && id == KeyEvent.KEY_PRESSED) {
synchronized(listeners) {
List<CellEditorListener> list = new ArrayList<CellEditorListener>(listeners);
for (CellEditorListener listener : list) {
listener.editingStopped(new ChangeEvent(this));
}
}
}
e.consume();
} else {
super.processKeyEvent(e);
}
}
/**
* Invoked when a key has been pressed.
* See the class description for {@link KeyEvent} for a definition of
* a key pressed event.
*/
public void keyPressed(KeyEvent e) {
for (KeyListener child : children) {
child.keyPressed(e);
if (e.isConsumed()) {
return;
}
}
if (acceptingEvents) {
_keyPressed(e);
}
}
/**
* Invoked when a key has been pressed. See the class description for {@link java.awt.event.KeyEvent} for a
* definition of a key pressed event.
*/
public void keyPressed( final KeyEvent e ) {
final KeyListener[] keyListeners = listenerList.getListeners( KeyListener.class );
for ( int i = 0; i < keyListeners.length; i++ ) {
final KeyListener keyListener = keyListeners[ i ];
keyListener.keyPressed( e );
}
}