SWT Cross-Platform Enter Detection

2019-01-20 10:08发布

问题:

I have a global filter (Display.addFilter) in SWT in which I want to detect Enter key. In Windows, pressing Enter generates SWT.CR in 'keyCode' part of KeyListener event. Is this assumption safe for all platforms, or should I check if

keyCode == SWT.CR || keyCode == SWT.LF?

Thanks.

回答1:

If you want to catch the event when the user presses the Enter key while a widget is in focus, use a TraverseListener or a Listener with type SWT.Traverse. Then, you check

if (event.detail == SWT.TRAVERSE_RETURN) {
    // The user pressed Enter 
}