В SWT есть TraverseListener
, который можно использовать для изменения эффекта клавиш обхода.
Например, слушатель хода может использоваться для фокусировки следующего поля на Введите следующим образом:
text.addTraverseListener(new TraverseListener() {
@Override
public void keyTraversed(TraverseEvent event) {
if (event.detail == SWT.TRAVERSE_RETURN) {
event.doit = false;
// focus next control
}
}
});
Установка флага doit
события на false
поглощает событие и не позволяет ему вызвать действие по умолчанию - если оно есть. В многострочном текстовом поле клавиша Enter может начинать новую строку, если событие не было использовано слушателем.