SWT中enter键实现tab键的功能

在SWT中组件会对tab,enter,上下左右方向键之类的有其默认的操作,可以通过添加TraverseListener监听来实现对这些默认的功能的一次重新定制。

 

TraverseListener:有一股keyTraversed(TraverseEvent e)方法,TraverseEvent是事件信息

TraverseEvent有两个参数:detail和doit。detail和doit。

detail属性指定事件类型。

doit指定该事件是否该执行。

 

除了这两个属性,如果我们要改变tab,enter,上下左右方向键响应的行为,可以定制keyTraversed方法的。

 

下面提供一个最简单的功能,enter键实现tab键的功能:

 

 

 

public class TraverseListener implements
        org.eclipse.swt.events.TraverseListener
{

    @Override
    public void keyTraversed(TraverseEvent e)
    {
        //TRAVERSE_RETURN 是回车键
        if (e.detail == SWT.TRAVERSE_RETURN)
        {
            e.detail = SWT.TRAVERSE_TAB_NEXT;
            e.doit = true;
        }
    }
}
 

 

你可能感兴趣的:(SWT)