SWT List
允许left
和up
两个箭头键上升列表项,right
和down
箭头键上下列表默认情况下的项目但是我想用left
和right
箭头键来表示另一个建议。如何删除默认情况下left
中的right
和SWT List
箭头键侦听器?然后替换我自己的。这是我想要使用的代码:
Listener listListener = new Listener() {
public void handleEvent(Event e) {
int RowIndex = listData.getSelectionIndex();
if(RowIndex == 0){
if (e.keyCode == SWT.ARROW_RIGHT) { //right arrow
//do something
}else if (e.keyCode == SWT.ARROW_LEFT) { //left arrow
//do something
}
}
}
};
list.addListener(SWT.KeyDown, listListener);
谢谢!
答案 0 :(得分:1)
您可以通过将doit
标记设置为false
来禁止关键笔划的默认行为:
if( event.keyCode == SWT.ARROW_RIGHT ) {
// do something
event.doit = false;
}
箭头键的默认行为很可能取决于平台。 Windows的行为与您描述的一样,但其他平台可能表现不同。无论密钥是否具有默认行为,将doit
标志设置为false
都将有效。
我不想覆盖平台行为,因为您的应用程序在平台的一般用法方面会表现不一致。