1. 程式人生 > >JTextField限制輸入數字的方法

JTextField限制輸入數字的方法

// 第一種,擴充套件關聯文字
final JTextField txtExamTotal = new JTextField();
// 3位數字
txtExamTotal.setDocument(new NumberValidator(3));

// 擴充套件類

import javax.swing.text.AttributeSet;
import javax.swing.text.PlainDocument;

/**
 * 數字,位數限制
 * 
 * @author 鄧傑
 */
public class NumberValidator extends PlainDocument {

	private static final long serialVersionUID = 1L;

	private int limit;

	public NumberValidator(int limit) {
		super();
		this.limit = limit;
	}

	public void insertString(int offset, String str, AttributeSet attr)
			throws javax.swing.text.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);
		}
	}

}

// 第二種,通過keyTyped方法過濾
final JTextField txtExamTotal = new JTextField();
txtExamTotal.addKeyListener(new KeyListener() {
	@Override
	public void keyTyped(KeyEvent e) {
		// 只能輸入數字
		char keyCh = e.getKeyChar();
		if ((keyCh < '0') || (keyCh > '9')) {
			if (keyCh != '') // 回車字元
				e.setKeyChar('\0');
		}
	}

	@Override
	public void keyReleased(KeyEvent e) {
	}

	@Override
	public void keyPressed(KeyEvent e) {
	}
});

相關推薦

JTextField限制輸入數字方法

// 第一種,擴充套件關聯文字 final JTextField txtExamTotal = new JTextField(); // 3位數字 txtExamTotal.setDocument(new NumberValidator(3)); // 擴充套件類 im

JTextField限制輸入資料型別(java GUI)

package javaBasic; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ControlClass { public static void main(String[] a

Android EditText 限制輸入數字和字母設定

在xml:EditText 設定屬性----android:digis="ABCDE555555&&&&&"ABCDE555555&&&&&"是你的限制規則。例如:android:digits="

input限制輸入數字的為正數

Input限制輸入的數字為正數 input自己帶的限制type= number min=”0”(只在form表單內起作用) 通過js獲取input的值,然後去操作dom,當input的值小於0時,歸0 <input type="number"

【easyui】numberbox限制輸入數字和位數/textbox限制輸入數字

numberbox: percision位數,min最小值預設為null,設定0 textbox:  $("#idName").textbox('textbox').bind('keyup', function(e){  $("#idName").textbox('

BCB TEdit元件限制輸入數字

方法1:      實現TEdit元件的OnKeyPress()事件裡面:     實現的內容如下:   /*限制只能輸入數字*/     if(!(((Key >= '0') && (Key <= '9')) || (Key == VK_B

EditText動態限制輸入數字和長度

et_context.setInputType(InputType.TYPE_CLASS_NUMBER);//限制輸入數字 et_context.setFilters(new InputFilter[]{new InputFilter.LengthFilter(6)});//

jquery限制文字框只能輸入數字方法,適用多種瀏覽器

<%@ page language="java" contentType="text/html; charset=UTF-8"     pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HT

JAVA基礎:SWING中JTextField限制只能輸入數字

JAVA基礎:SWING中JTextField限制之能輸入數字 在Swing中,使用JTextField建立輸入框。在實際的應用中,我們可能對輸入框有各種限制;比如限制字元的長度,或者限制只能輸入數字等。 之前的想法是通過KeyListener來達成,監視k

限制input只能輸入數字/數字和小數點

red onkeyup this span replace ice fff round logs 1.限制input只能輸入數字 <input id="Number" name="Number" type="text" class="form-control req

input輸入限制輸入英文,數字,漢字

get put 中文 repl turn value 下劃線 function fun <h1>js驗證輸入框內容</h1><br /><br /> 只能輸入英文<input type="text" onkeyup="v

移動端web頁面input限制只能輸入數字

字段 數字 arp 設置 輸入 inpu highlight ios端 web頁面 <input type="number" pattern="[0-9]*" /> 如上所示,在安卓端設置input類型為number,可限制鍵盤只輸入數字,在ios端,要

JS限制文本框只能輸入數字(包括整數,小數,負數)

javascrip 限制 func value this input onkeyup function pos <script type="text/javascript"> function keyPress(ob) { if (!ob.val

正則限制輸入數字,且最多輸入2位小數 之 新寫法

符號 接受 fff asc pad 函數 ext www 對象   原本小程序需要一個限制文本框輸入為數字,且最多保留2位小數的效果,網上找到的例子感覺有點繁瑣,就自己寫了一個。 代碼很簡單,主要借助了正則的組匹配特性進行處理: //檢查輸入文本,限制只能為數字並且數字最

限制輸入字符數通用方法(漢字占2位,英符占1位)

bsp else length har 變量名 limit array 數通 arr (待完善補充) checkLimitCharacterLength(itemName, length, parentObj) { //校驗字符長度(變量名,限制字符數,變量所屬的對象)

replace限制文字框只能輸入數字數字和字母等的正則表示式

1.文字框只能輸入數字程式碼(小數點也不能輸入)  <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">&

input標籤限制輸入,只能為數字

<input type="text" placeholder="請輸入您的年齡" id="age" onkeyup="if(this.value.length==1){this.value=this.valu

限制數字輸入,適用於所有數量的輸入

//限制商品數量字元輸入 $('.goods-num').on('keypress',function (ev) { // console.log(String.fromCharCode(ev.keyCode)) var reg = /

怎麼用正則表示式限制輸入輸入數字的範圍(數字範圍是50-1000),怎麼限制輸入輸入數字是以9506開頭的

轉自 https://zhidao.baidu.com/question/1829801257322895700.html   <input type="text" onkeyup="var v=this.value||'';v=v.replace(/[^\d]/g,'')

限制前端只能輸入數字

shiy使用onkeyup和onafterpaste事件 在input文字加上這段話 onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')