我想取消长文本框的按键事件,以便用户新按下的字符不会输入文本框
longBox_1.addKeyPressHandler(new KeyPressHandler(){
@Override
public void onKeyPress(KeyPressEvent event) {
String Valid="1234567890";
if (!Valid.contains(String.valueOf(event.getCharCode()))) {
// the code to cancel the event to be placed here
}
}
});
答案 0 :(得分:3)
如果您的longBox_1是您班级的私人成员或最终版本,则取消该活动的代码为:
longBox_1.cancelKey();
否则,如果您确定它与TextBox对应,则可以转换事件源:
((TextBox)event.getSource()).cancelKey();
这是cancelKey的文档:
如果当前正在进行键盘事件 在这个文本框上处理,调用它 方法会抑制它。这允许 听众轻松过滤键盘 输入