小弟是一新手,现在正忙于一个Swing项目,项目中要控制控件(如JTextField、JCombobox等)输入,要求控制有的文本框只能输入整数,有的只能输入整数或小数,有的只能输入0-9之间的数字,有的只能输入个别字符,我知道,要把这些控制做成工具类,因为时间匆忙,真诚希望广大高手能相赠这些常用类源码,小弟感激不尽!以奉献自己全部分数作为报答!多谢!谢谢!我觉得:
控制只能输入整数需要一个类,应该可以控制输入位数,即几位整数;控制只能输入整数或小数,即只能输入数值需要一个类,应该可以控制输入位数;控制只能输入0--9之间数字需要一个类;控制只能输入个别字符需要一个类;希望各位高手能慷慨相送,感激不尽!!!

解决方案 »

  1.   

    在SWT的Text组件中,可以添加addVerifyListener来设置输入文本框只可以输入数组或者字母,具体查看一下他的实现。
      

  2.   

    想不出来,呵呵,水平有限,本来我想继承JTextField,然后添加KeyListener事件,利用KeyEvent的getKeyChar()来判断按的键是数字键or字母键,从而判断是否显示将该键值显示在文本框中,可是写了一半的时候忽然发现用户用此类的时候再次addKeyKistener的时候,不久覆盖了父类的方法,岂不没用了。
      

  3.   

    除非该类不再让用户覆盖它的keyReleased方法,也就是不能再定义自己的KeyListener,只能用默认实现。
    this.addKeyListener(new KeyAdapter()
    {
    public void keyReleased(KeyEvent e)
    {
    char ch = e.getKeyChar();
    System.out.println(ch);
    if(!Character.isDigit(ch))
    {
    System.out.println("aa");
    String str = text1.getText();
    if(str == null || str.equals(""))
    return;
    text1.setText(str.substring(0,str.length()-1));
    }
    }
    });