-1

我想要名称文本字段验证,并且我正在使用此代码,但无法正常工作。

Name_text.addKeyListener(new KeyAdapter() {

            @Override
          public void keyPressed(KeyEvent EVT){

            if(EVT.getKeyChar()>='a'&& EVT.getKeyChar()<='z'|| EVT.getKeyChar()>='A'&& EVT.getKeyChar()<='Z'|| EVT.getKeyChar()==8|| EVT.getKeyChar()==26){

            Name_text.setEditable(true);
            }
            else{

         JOptionPane.showMessageDialog(null, "enter characters only");

            }
4

2 回答 2

1

你真的应该使用DocumentFilter类来执行这种类型的验证,这正是它的设计目的。如果用户将文本粘贴到字段中或您使用setText,您将不会通过KeyListener

您还可以查看这个以获取一些示例

于 2012-08-03T08:43:26.403 回答
0

我猜您想使用以下代码进行验证:

        if (Character.isDigit(EVT.getKeyChar())) {
                Name_text.setEditable(true);
                Name_text.setText("");
            } else {
                JOptionPane.showMessageDialog(null, "enter characters only");
            }

由您的评论编辑。

于 2012-08-03T08:07:49.930 回答