博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java只允许输入数字的文本框
阅读量:4614 次
发布时间:2019-06-09

本文共 1597 字,大约阅读时间需要 5 分钟。

package com.han;import javax.swing.JTextField;import javax.swing.text.AttributeSet;import javax.swing.text.BadLocationException;import javax.swing.text.Document;import javax.swing.text.PlainDocument;/** * Customized fields can easily be created by extending the model  * and changing the default model provided. For example,  * the following piece of code will create a field that holds only  * digit characters. It will work even if text is pasted into from  * the clipboard or it is altered via programmatic changes. * @author HAN * */public class DigitOnlyField extends JTextField {	   	/**	 * 	 */	private static final long serialVersionUID = 8384787369612949227L;	public DigitOnlyField(int cols) {		// super() 可以被自动调用,但是有参构造方法并不能被自动调用,只能依赖		// super关键字显示地调用父类的构造方法        super(cols);    }    protected Document createDefaultModel() {        return new UpperCaseDocument();    }    static class UpperCaseDocument extends PlainDocument {        /**		 * 		 */		private static final long serialVersionUID = -4170536906715361215L;		public void insertString(int offs, String str, AttributeSet a)            throws BadLocationException {            if (str == null) {                return;            }            char[] upper = str.toCharArray();            String filtered = "";            for (int i = 0; i < upper.length; i++) {            	if (Character.isDigit(Character.codePointAt(upper, i))){            		filtered += upper[i];            	}            }            super.insertString(offs, filtered, a);        }    }}

转载于:https://www.cnblogs.com/javaTest/archive/2012/07/12/2589155.html

你可能感兴趣的文章
SESSION技术
查看>>
数据结构(五)之直接插入排序
查看>>
SQL函数——LENGTH()和LENGTHB()
查看>>
vim - manual -个人笔记
查看>>
详解Javascript中prototype属性(推荐)
查看>>
angularjs实现首页轮播图
查看>>
Git 对象 和checkout 和stash的笔记
查看>>
团队项目总结2-服务器通信模型和顺序图
查看>>
hdu 1085 Holding Bin-Laden Captive!
查看>>
[周记]8.7~8.16
查看>>
递归定义
查看>>
kindeditor 代码高亮设置
查看>>
互联网产品的商业模式
查看>>
图的邻接表存储
查看>>
2018 leetcode
查看>>
各浏览器对 onbeforeunload 事件的支持与触发条件实现有差异
查看>>
PHP中获取当前页面的完整URL
查看>>
所谓输入掩码技术,即只有数字键起作用
查看>>
Display对象,Displayable对象
查看>>
安装oracle11G,10G时都会出现:注册ocx时出现OLE初始化错误或ocx装载错误对话框
查看>>