需求如下:
Text类型为MULTI时怎么样判断是按的Tab键,并且当按下Tab键时,自动把焦点跳到下一个控件上去(即在未知控件的情况下让他失去焦点)。
解决如下:
public boolean isMulti(KeyEvent e) {
return (e.keyCode==9);
}
private void addKeysListener(final Text text) {
this.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (isMulti(e)) {
text.traverse(SWT.TRAVERSE_TAB_NEXT);
}
}
});
this.addTraverseListener(new TraverseListener(){
public void keyTraversed(TraverseEvent e) {
if(e.keyCode == SWT.TAB) {
setSelection(0);
}
e.doit = true;
}
});
这都是写在自定义的一个Text里头。
本文介绍如何在SWT框架中实现Text控件的Tab键响应功能,包括通过KeyEvent和TraverseEvent来判断是否按下Tab键,并自动将焦点移至下一个控件。

704

被折叠的 条评论
为什么被折叠?



