Google Web Toolkit (Beta)
Search this site:

# Class DelegatingKeyboardListenerCollection

public class DelegatingKeyboardListenerCollection
extends KeyboardListenerCollection
implements KeyboardListener
KeyboardListenerCollection used to correctly hook up event listeners to the composite's wrapped widget.

For example, Composite widgets often need to listen to events generated on their wrapped widget. Upon the firing of a wrapped widget's event, the composite widget must fire its own listeners with itself as the source of the event. To use a DelegatingKeyboardListenerCollection, simply use the DelegatingKeyboardListenerCollection instead of a KeyboardListenerCollection. For example, in SuggestBox, the following code is used to listen to keyboard events on the SuggestBox's underlying widget.

      public void addKeyboardListener(KeyboardListener listener) {
        if (keyboardListeners == null) {
          keyboardListeners = new DelegatingKeyboardListenerCollection(this, box);
        }
        keyboardListeners.add(listener);
      }

## Constructors

DelegatingKeyboardListenerCollection(Widget, SourcesKeyboardEvents) | Constructor for DelegatingKeyboardListenerCollection.

## Methods

onKeyDown(Widget, char, int) | Fired when the user depresses a physical key.
onKeyPress(Widget, char, int) | Fired when a keyboard action generates a character.
onKeyUp(Widget, char, int) | Fired when the user releases a physical key.

## Constructor Detail

### DelegatingKeyboardListenerCollection

public DelegatingKeyboardListenerCollection(Widget owner, SourcesKeyboardEvents delegatedTo)
Constructor for DelegatingKeyboardListenerCollection.

#### Parameters

owner
  owner of listeners
delegatedTo
  source of events

## Method Detail

### onKeyDown

public void onKeyDown(Widget sender, char keyCode, int modifiers)
Fired when the user depresses a physical key.

#### Parameters

sender
  the widget that was focused when the event occurred.
keyCode
  the physical key that was depressed. Constants for this value are defined in this interface with the KEY prefix.
modifiers
  the modifier keys pressed at when the event occurred. This value is a combination of the bits defined by KeyboardListener.MODIFIER_SHIFT, KeyboardListener.MODIFIER_CTRL, and KeyboardListener.MODIFIER_ALT.

### onKeyPress

public void onKeyPress(Widget sender, char keyCode, int modifiers)
Fired when a keyboard action generates a character. This occurs after onKeyDown and onKeyUp are fired for the physical key that was pressed.

It should be noted that many browsers do not generate keypress events for non-printing keyCode values, such as KeyboardListener.KEY_ENTER or arrow keys. These keyCodes can be reliably captured either with KeyboardListener.onKeyDown(Widget, char, int) or KeyboardListener.onKeyUp(Widget, char, int).

#### Parameters

sender
  the widget that was focused when the event occurred.
keyCode
  the Unicode character that was generated by the keyboard action.
modifiers
  the modifier keys pressed at when the event occurred. This value is a combination of the bits defined by KeyboardListener.MODIFIER_SHIFT, KeyboardListener.MODIFIER_CTRL, and KeyboardListener.MODIFIER_ALT.

### onKeyUp

public void onKeyUp(Widget sender, char keyCode, int modifiers)
Fired when the user releases a physical key.

#### Parameters

sender
  the widget that was focused when the event occurred.
keyCode
  the physical key that was released. Constants for this value are defined in this interface with the KEY prefix.
modifiers
  the modifier keys pressed at when the event occurred. This value is a combination of the bits defined by KeyboardListener.MODIFIER_SHIFT, KeyboardListener.MODIFIER_CTRL, and KeyboardListener.MODIFIER_ALT.