用javascipt来控制不就行了吗???

解决方案 »

  1.   

    用document来实现....改写其中的insertString()方法
      

  2.   

    textField.getDocument().addDocumentListener(new MyDocumentListener());
    MyDoucmentListener里面写你必须要数字的代码.
      

  3.   

    只能输入数字的:
    <input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
      

  4.   

    public class CInputLimitDoc extends PlainDocument{    public void insertString(int offset,String s,AttributeSet a)throws BadLocationException
        {
            String strNew;               //文本框将要显示的字符串        //取得当前文本框中的字符串和插入字符串,合并得新字符串
            strNew=getText(0,offset).trim()+s+getText(0,getLength()).substring(offset).trim();        try
            {
                //如果输入为空,则不检查
                if(strNew.trim().equals(""))
                    return;            //如果要限制长度,则判断新字符串是否超过长度
                if ((strNew.length()>iMaxLength)&&bIsCheckLength)
                {
                    strWarning="输入长度不能超过 "+iMaxLength+" !";
                    throw new Exception();
                }            //如果已设置,则进行数字输入检查
                if(bIsCheckNumber)
                    checkNumber(s);            //如果已设置,则检查整数输入最大值
                if(iMaxInteger!=0&&(Integer.parseInt(strNew)>iMaxInteger))
                {
                    strWarning="输入整数值不能超过 "+iMaxInteger+" !";
                    throw new Exception();
                }            //如果已设置,则进行小数输入检查
                if(bIsCheckFloat)
                    checkFloat(strNew,s);            //如果已设置,则进行字母和数字输入检查
                if(bIsCheckCharAndNumber)
                    checkCharAndNumber(s);
                //检查IP输入(某一个文本框)
                if(bIsCheckIP)
                {
                    //检查输入合法性
                    checkIP(strNew,s,offset);
                    //如果标志已设置,则退出,不插入
                    if(strWarning.equals(""))
                        return;
                }            //插入合法字符
                super.insertString(offset,s,a);
            }
            catch (Exception e)
            {
                //响一声报警并给出提示信息,不显示插入的不合法字符
                Toolkit.getDefaultToolkit().beep();
                javax.swing.JOptionPane.showMessageDialog(null,strWarning,"非法输入",JOptionPane.ERROR_MESSAGE);
                return;
            }
        }
    }
      

  5.   

    如果你想在jsp用java控制,那么你可以将get到的字符串用Integer.parseInt函数转换,如果抛出异常,则提示用户输入有误。
      

  6.   

    你可以继承文本输入类呀,将其中的键盘消息处理重载为自己的方法即可:
    public boolean handleEvent(Event evt)
    {
      if(evt.id==Event.KEY_PRESSED)
        if(evt.key>="0" && evt.key<="9")
           return super.handleEvent(evt);
        else
           return true; //指示该消息已处理
      else
        return super.handleEvent(evt);