监控文本输入校验--继承PlainDocument类重写insertString方法
2011-04-13 09:08
274 查看
1.首先可以判断输入长度,2.校验输入insert为数字,3.data整个字符串不等于"-"就看是否能转换为数字.4.最后判断极值.
public static final int TYPE_1=1;
private int type=1;
private int min=-32768;
private int max=32768;
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException {
int length=getLength();
byte[] insert=str.getBytes();
String text=getText(0, length);
switch(type){
case TYPE_1:
for(int i=0;i<insert.length;i++){
if(!(abyte>='0' && abyte<='9' || abyte=='-')){
return;
}
}
String data=text.concat(str);
int val=0;
if(!data.equals("-")){
try {
val=Integer.parseInt(data);
} catch (NumberFormatException e) {
return; }
}
val=Integer.parseInt(data);
if(data.startsWith("00")){
return;
}
if(val<min){
String s=String.valueOf(min);
remove(0, getLength());
super.insertString(0, s, a);
}else if(val>max){
String s=String.valueOf(max);
remove(0, getLength());
super.insertString(0, s, a);
}else{
super.insertString(offs, str, a);
}
break;
}
public static final int TYPE_1=1;
private int type=1;
private int min=-32768;
private int max=32768;
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException {
int length=getLength();
byte[] insert=str.getBytes();
String text=getText(0, length);
switch(type){
case TYPE_1:
for(int i=0;i<insert.length;i++){
if(!(abyte>='0' && abyte<='9' || abyte=='-')){
return;
}
}
String data=text.concat(str);
int val=0;
if(!data.equals("-")){
try {
val=Integer.parseInt(data);
} catch (NumberFormatException e) {
return; }
}
val=Integer.parseInt(data);
if(data.startsWith("00")){
return;
}
if(val<min){
String s=String.valueOf(min);
remove(0, getLength());
super.insertString(0, s, a);
}else if(val>max){
String s=String.valueOf(max);
remove(0, getLength());
super.insertString(0, s, a);
}else{
super.insertString(offs, str, a);
}
break;
}
相关文章推荐
- Struts2的输入校验(3):重写validateXxx方法(方法二)
- Struts2的输入校验(2):重写validate方法(方法二)
- Struts2-输入校验(重写validate方法)
- struts2中手动完成输入校验(2)重写validateXXX()方法
- UITextField监控输入文字变化方法
- 重写成员时违反了继承安全性规则。重写方法的安全可访问性必须与所重写方法的安全可访问性匹配。
- C#下 子类继承父类的虚方法后 使用override重写父类方法 和 不使用override重写有什么区别?
- 程序小白天天打卡(java继承以及方法的重写)
- 继承 方法重写 组合(尚学堂视频学习总结_003)
- java继承并重写方法时抛出一样的异常或不抛异常,既不能多也不能少,范围既不能打也不能小
- java学习之路 之 高级类特性1-面向对象特征之二:继承及方法重写(override)
- Scala学习第十二天 Scala中的继承:超类的构造、重写字段、重写方法代码实战
- 多态、继承---常量的覆盖和方法的重写
- 8 面向对象(制作帮助文档,通过JDK提供的API学习了Math类,代码块,继承(继承子父成员访问特点,super关键字,方法重写))
- 类的继承、方法重写、自动转型
- ASP.net 指定textBox输入文本为数字 OnKeyPress方法
- Struts2_基于XML配置方式对指定action方法实现输入校验、基于XML校验的一些特点
- Struts2 对Action中所有方法进行输入校验、单个方法进行校验
- UITextField监控输入文字变化方法
- static的继承:静态方法只能隐藏(hidden),不能重写(override)