需求: JSpinner组件,除了上下按钮外,还可以手动输入,输入范围1---31, 超过范围的输入不进去。 
利用PlainDocument重写insertString()好像不能用。在网上找到一个帖子http://guobutter.iteye.com/blog/1187150
   SpinnerModel model = new SpinnerNumberModel(1, 1, 31, 1); 
        JSpinner numberSpinner = new JSpinner(model); 
        // 允许输入 
         JSpinner.NumberEditor editor = new JSpinner.NumberEditor(numberSpinner, "0"); 
        numberSpinner.setEditor(editor); 
         JFormattedTextField textField = ((JSpinner.NumberEditor)numberSpinner.getEditor()).getTextField(); 
        textField.setEditable(true);//开启输入功能 
        // 开启输入的值的限制 
         DefaultFormatterFactory factory = (DefaultFormatterFactory)textField.getFormatterFactory(); 
         NumberFormatter formatter = (NumberFormatter)factory.getDefaultFormatter(); 
       // formatter.setOverwriteMode(true);
       // formatter.setFormat();
        //formatter.setCommitsOnValidEdit(false);
        formatter.setAllowsInvalid(false);这样可以实现控制输入,但是当删除里面的内容时候,总有一位输入不进去。初始化的时候,光标是在默认的一位数字左边闪。
请问大侠怎么设置可以将删除掉。