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

时间: 2024-10-05 15:01:21

JTextField限制 输入数字的相关文章

第一个app-进阶:1、让EditText屏蔽软键盘仍能光标闪动:2、EditText 的inputType参数类型(密码方式-隐藏显示、只允许输入数字等等)

EditText屏蔽软键盘后,光标消失问题 开始我有个需求:屏蔽系统软键盘 于是找到并使用这个方法: //edit_text1.setInputType(InputType.TYPE_NULL); //屏蔽软键盘弹出//edit_text2.setInputType(InputType.TYPE_NULL); //屏蔽软键盘弹出//edit_text3.setInputType(InputType.TYPE_NULL); //屏蔽软键盘弹出 让三个EditText都成功地没有软键盘弹出. 后来我

在文本框里只能输入数字

方法: 键盘输入以后采用的方法: 按下某个键时调用此方法:KeyPressed(KeyEvent e ) 使用此事件,以便不会按照默认的方式处理事件:public void consume() 代码 package cn.idcast2; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Label; import java.awt.TextField; import java.awt.event.KeyAdap

WinForm笔记一:文本框只允许输入数字

在WinForm的文本框中,有时候只允许数字,而不能输入除数字以外的其他字符,要调用TextBox的KeyPress事件,代码如下: //只允许输入数字 if (e.KeyChar<'0'||e.KeyChar>'9') { e.Handled = true; } //允许输入退格键 if (e.KeyChar == 8) { e.Handled = false; } TextBox tBox = sender as TextBox;        //哪个文本框调用,tBox 就是哪个文本框

限制input输入格式:只能输入数字

1.只能输入和粘贴数字 <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" /> 2.只能输入数字<input onkeyup="if(/\D/.test(this.value)){alert('只能输入数字');this.value='0';}"> 3

提示用户一直输入数字(默认为正整数),当用户输入end的时候显示当前输入数字中的最大值。

string input = ""; int max = 0; while (input != "end") { Console.WriteLine("请输入一个正整数,输入end的时候我们将输入当前的最大值:"); input = Console.ReadLine();//可能输入数字, end,或者乱七八糟的字符串. if (input != "end") { try { int number = Convert.ToIn

[超牛]只能输入数字的文本框,兼容IE7IE8等

demo地址: 只能输入数字的文本框 核心js代码: /* * 只能输入正整数,不能有小数点 * */ onlyIntegerKeyUp = function (e) { if (e === undefined) { e = window.event; } var obj = e.srcElement ? e.srcElement : e.target; var pattern = /[^\d]/ig; var val = obj.value; if (pattern.test(val)) {

js文本框只能输入数字,

1,文本框只能输入数字代码(小数点也不能输入) 复制代码代码示例: <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2,只能输入数字,能输小数点. 复制代码代码示例: <input onkeyup="if(isNaN(value))execCommand('und

限制input只能输入数字

限制input表单只能输入数字,代码如下: <input type="text" style="ime-mode:disabled;" onkeypress="return (/^(0|[1-9]\d*)$/.test(String.fromCharCode(event.keyCode)))"/> 说明: 1.style="ime-mode:disabled"意为关闭输入法. 2./^(0|[1-9]\d*)$/为

一句JS搞定只允许输入数字和字母

一句JS搞定输入框只允许用户输入数字和字母类型的内容,对象是input输入框,当然也可以其它对象,只不过input输入框用的频率非常高.一句代码,不信么?那就看下边代码: <INPUT class=input maxLength=12 size=15 name=username id="username" onKeyUp="value=value.replace(/[\W]/g,'')"></INPUT> 在input文本框中加入onKeyU