Una*_*oad 5 java validation swing keyevent jtextfield
我想创建JTextField,其输入字符仅限于"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZZ0123456789 +# /%?= ~_- |!:,.;" 所以我试着压倒一切
public class CustomJTextField extends JTextField {
String goodchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZZ0123456789+&@#/%?=~_-|!:,.;";
//... my class body ...//
@Override
public void processKeyEvent(KeyEvent ev) {
if(c != '\b' && goodchars.indexOf(c) == -1 ) {
ev.consume();
return;
}
else
super.processKeyEvent(ev);}}
Run Code Online (Sandbox Code Playgroud)
但它不是我想要的,因为用户不能再按ctrl-c ctrl -v ctrl-x ...所以我加入了
&& ev.getKeyCode() != 17 && ev.getKeyCode() !=67 && ev.getKeyCode() != 86 && ev.getKeyCode() !=0 &&
Run Code Online (Sandbox Code Playgroud)
到if条件,但现在用户可以粘贴不适当的输入,即'('或'<',没有任何问题......我该怎么办?
归档时间: |
|
查看次数: |
3793 次 |
最近记录: |