易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
软件资源
软件开发
、
小程序制作
、
系统集成与运维
、
空间租用
、
硬件开发
、
视频监控
、
技术咨询与支持
——联系电话:0311-88999002/88999003
首页
/
操作系统
/
Linux
/
Java只允许输入数字的文本框
Java只允许输入数字的文本框:
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);
}
}
}
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图