最近做GUI界面时,经常遇到要求用户输入一些信息,怎样做来防止用户输入一些非法字符,做一些类型检查,尽管我尝试过使用异常捕获方法,可处理过后用户也就不能再纠正自己的输入了,请教如何做才能让用户在接到弹出窗口警告后能修正错误输入?

解决方案 »

  1.   

    1
    写键盘事件,比如你只要用户输入数字,那字母的键就屏蔽了吧
    2
    都输入完在提交的时候做检查,可以用正则,或者手动比较,最后得出通过,或者警告信息
    force定位到错误的位置
      

  2.   

    你的输入框是JTextField吧,可以这样
    public class IllegalDocument
        extends PlainDocument {
      JTextField textField;
      public IllegalDocument(JTextField textField) {
         this.textField = textField;
      }  public void insertString(int offset, String s, AttributeSet attributeSet) throws
          BadLocationException {
        try{
          String text = textField.getText()+s;
          if(text==你定义的非法字符){
               //比如用户输入了fuc,如果还想输入k的话,就不让他输入了
               Toolkit.getDefaultToolkit().beep();
               return;
          }
        }catch(Exception e){
          Toolkit.getDefaultToolkit().beep();
          return;
        }
        super.insertString(offset,s,attributeSet);
      }
    }调用这个类就是
    JTextField textField = new JTextField();
    textField.setDocument(new IllegalDocument(textField));