如何在TextField的前两位只输入输入1-50的数字

解决方案 »

  1.   

    TextField.getText().matches("([1-9]|[1-4][0-9]|50)")
      

  2.   

    TextField.getText().substring(0,2).matches("([1-9]|[1-4][0-9]|50)")
      

  3.   

    String s = TextField.getText().substring(0,2);
    int i = Integer.parseInt(s);
    if(i<1||i>50) ...................;
      

  4.   

    ...重写createDefaultModel()方法。返回new OneFiftyDocument()
    //看看第一位是1~5的数字。
    class OnFiftyDocument extends PlainDocument {
     public void insertString(String s ,int offset, AttributeSet a) {
      if (s == null || s.length() ==0)
         return;
      if (pos == 0) {
        if (s.charAt(0) >= '1' && s.chatAt(0) <='5') {
          super.insertString(s,offset,a);
        } else {
          return;
        }
      }
     }
    }
      

  5.   

    TextField.addKeyListener()
    KeyListener 就按楼上各位提到的写