我正在尝试验证SWT文本框只接受字母数字,“.
”和“*
”字符,因此用户可以输入通配符模式(例如*.txt
)。
使用以下代码,我无法输入“*
”字符(键盘的数字键盘中也带有*
按钮)。请帮忙。
text.addVerifyListener(new VerifyListener() {
@Override
public void verifyText(VerifyEvent e) {
e.doit=Character.isLetterOrDigit(e.character)
||e.keyCode=='.'
||e.keyCode=='*'
||e.keyCode==SWT.ARROW_LEFT
||e.keyCode==SWT.ARROW_RIGHT
||e.keyCode==SWT.BS;
}
});
答案 0 :(得分:3)
您正在针对某个字符测试keyCode
字段 - 键代码值通常与字符值不同。所以使用:
|| e.character == '.'
|| e.character == '*'
或者如果您只想允许键盘。 *使用:
|| e.keyCode == SWT.KEYPAD_DECIMAL
|| e.keyCode == SWT.KEYPAD_MULTIPLY
答案 1 :(得分:0)
private void validateCharacaterspecials(){
News_Comments
- id (PK)
- newsID (FK News)
- userID
- timestamp
- text
Picture_Comments
- id (PK)
- pictureID (FK Picture)
- userID
- timestamp
- text