swing 文本框输入内容限制

原创 2013年12月15日 23:58:18

目录:

  • 源码
  • 效果图

java源码:

package textfield;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;

import org.apache.commons.lang.ArrayUtils;

public class AllowInputChar extends JFrame{
	private JTextField field;
	public AllowInputChar() {
		setLayout(new BorderLayout());
		setTitle("Allow input char");
	    field = new JTextField();
		add(field);
		
		field.setDocument(new InputCharFilter());
		
		diplay();
	}
	
	private void diplay() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(new Dimension(300,100));
		setVisible(true);
	}
	
	public static void main(String[] args) {
		new AllowInputChar();
	}
	
	public class InputCharFilter extends PlainDocument{
		public  final char[] FIRST_CHARS = {'0'};
		public  final char[] ALLOW_CHARS = {'0','1','2','3','4','5','6','7','8','9'};
		
		@Override
		public void insertString(int offs, String str, AttributeSet a)
				throws BadLocationException {
			
			//首字母不能为0
			if(getLength()==0){
				if(ArrayUtils.contains(FIRST_CHARS, str.charAt(0))){
					return;
				}
			}
			//必须为纯数字
			if(!ArrayUtils.contains(ALLOW_CHARS, str.charAt(0))){
				return;
			}
			
			super.insertString(offs, str, a);
		}
		
	}
	
}
效果图:


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

[正则表达式]文本框输入内容控制=限制仅仅只给输入数字;中文;英文;符号。

整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$  只能输入数字:"^[0-9]*$"。  只能输入n位的数字:"^\d{n}$"。  只能输入至少n位的数字:"^\d{n,}$...

js限制文本框输入类型

有时需要限制文本框输入内容的类型,本节分享下正则表达式限制文本框只能输入数字、小数点、英文字母、汉字等代码。 例如,输入大于0的正整数 复制代码代码如下: 1...

JSP限制文本框输入

JS限制文本框输入金额并保留两位小数

JS限制文本框输入金额并保留两位小数 /** * 实时动态强制更改用户录入 * arg1 inputObject **/ function amount(th){ var regStrs...

正则表达式限制文本框输入(数字/汉字/英文)

许多时候我们在制作表单时需要限制文本框输入内容的类型,下面我们用正则表达式限制文本框只能输入数字、小数点、英文字母、汉字等各类代码。    1.文本框只能输入数字代码(小数点...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)