- public final class TraverseEvent
Instances of this class are sent as a result of widget traversal actions.
The traversal event allows fine control over keyboard traversal in a control
both to implement traversal and override the default traversal behavior
defined by the system. This is achieved using two fields,
When a control is traversed, a traverse event is sent. The detail describes
the type of traversal and the doit field indicates the default behavior of
the system. For example, when a right arrow key is pressed in a text control,
the detail field is
TRAVERSE_ARROW_NEXT and the doit field is
false, indicating that the system will not traverse to the next
tab item and the arrow key will be delivered to the text control. If the same
key is pressed in a radio button, the doit field will be
indicating that traversal is to proceed to the next tab item, possibly
another radio button in the group and that the arrow key is not to be
delivered to the radio button.
How can the traversal event be used to implement traversal? When a tab key is
pressed in a canvas, the detail field will be
and the doit field will be
false. The default behavior of the
system is to provide no traversal for canvas controls. This means that by
default in a canvas, a key listener will see every key that the user types,
including traversal keys. To understand why this is so, it is important to
understand that only the widget implementor can decide which traversal is
appropriate for the widget. Returning to the
example, a text widget implemented by a canvas would typically want to use
the tab key to insert a tab character into the widget. A list widget
implementation, on the other hand, would like the system default traversal
behavior. Using only the doit flag, both implementations are possible. The
text widget implementor sets doit to
false, ensuring that the
system will not traverse and that the tab key will be delivered to key
listeners. The list widget implementor sets doit to
indicating that the system should perform tab traversal and that the key
should not be delivered to the list widget.
How can the traversal event be used to override system traversal? When the
return key is pressed in a single line text control, the detail field is
TRAVERSE_RETURN and the doit field is
means that the return key will be processed by the default button, not the
text widget. If the text widget has a default selection listener, it will not
run because the return key will be processed by the default button. Imagine
that the text control is being used as an in-place editor and return is used
to dispose the widget. Setting doit to
false will stop the
system from activating the default button but the key will be delivered to
the text control, running the key and selection listeners for the text. How
TRAVERSE_RETURN be implemented so that the default button
will not be activated and the text widget will not see the return key? This
is achieved by setting doit to
true, and the detail to
Note: A widget implementor will typically implement traversal using only the
doit flag to either enable or disable system traversal.
public static members of
this class are not part of the RWT public API. They are marked
public only so that they can be shared within the packages provided by RWT.
They should never be accessed from application code.
public static final int KEY_TRAVERSED
Constant Field Values
public int detail
- The traversal type.
Setting this field will change the type of traversal. For example, setting
the detail to
TRAVERSE_NONE causes no traversal action to be
taken. When used in conjunction with the
doit field, the
traversal detail field can be useful when overriding the default traversal
mechanism for a control. For example, setting the doit field to
false will cancel the operation and allow the traversal key
stroke to be delivered to the control. Setting the doit field to
true indicates that the traversal described by the detail
field is to be performed.
- Constructs a new instance of this class based on the information in the
given untyped event.
e - the untyped event containing the information
- Returns a string containing a concise, human-readable description of the
- a string representation of the event
protected void dispatchToObserver(
protected boolean allowProcessing()
public static void addListener(
public static void removeListener(
public static boolean hasListener(
Copyright (c) Innoopract Informationssysteme GmbH and others 2002, 2008. All rights reserved.