zoukankan      html  css  js  c++  java
  • JTextField限制 输入数字

    貌似有很多方法,先记了再说...

    1.限制输入数字

    用法 textfield.setDocument(new IntegerDocument());   

    class IntegerDocument extends PlainDocument

    {   

    public void insertString(int offset, String s, 
    AttributeSet attributeSet) throws BadLocationException

    {

          try  

    {

        Integer.parseInt(s);

    }

    catch(Exception ex)

    {

       Toolkit.getDefaultToolkit().beep();

        return;

    }

    super.insertString(offset, s, attributeSet);

    }

    }

    2.限制输入数字和长度

    public class NumberLenghtLimitedDmt extends PlainDocument {

       private int limit; 
       public NumberLenghtLimitedDmt(int limit) {
        super();
           this.limit = limit;
        } 
       public void insertString
         (int offset, String str, AttributeSet attr)
                                       throws BadLocationException {   
           if (str == null){
            return;
           }
           if ((getLength() + str.length()) <= limit) {
         
           char[] upper = str.toCharArray();
           int length=0;
           for (int i = 0; i < upper.length; i++) {     
               if (upper[i]>='0'&&upper[i]<='9'){         
                  upper[length++] = upper[i];
               }
           }
             super.insertString(offset, new String(upper,0,length), attr);
          }
        }
    }

    用法:

    JTextField   text=new JTextField();

    text.setDocument(new NumberLenghtLimitedDmt(7));

    那么这个文本框只能输入7位而且是只能是数字!!!

    3.添加KeyListener

    public void keyTyped(KeyEvent e)
        {
         if ((e.getKeyChar() >= e.VK_0 && e.getKeyChar() <= e.VK_9) 
          || e.getKeyChar() == e.VK_ENTER || e.getKeyChar() == e.VK_TAB
          || e.getKeyChar() == e.VK_BACK_SPACE || e.getKeyChar() == e.VK_DELETE 
          || e.getKeyChar

  • 相关阅读:
    OpenStack kolla 多 region 部署配置
    docker rpm 下载地址
    kolla-ansible 源码下载
    Linux下常用压缩 解压命令和压缩比率对比
    Python 获取秒级时间戳与毫秒级时间戳
    OVS 内核KEY值提取及匹配流表代码分析
    字符串压缩 牛客网 程序员面试金典 C++ Python
    奇偶位交换 牛客网 程序员面试金典 C++ Python
    寻找下一个结点 牛客网 程序员面试金典 C++ java Python
    平分的直线 牛客网 程序员面试金典 C++ Python
  • 原文地址:https://www.cnblogs.com/exmyth/p/3730899.html
Copyright © 2011-2022 走看看