我是笨蛋,请详细解释。尤其是循环控制、字符输入长度截取、数字……谢谢。publicclassNumberLenghtLimitedDmtextendsPlainDocument{privateintlimit;privatebooleanflag;publicNumbe...
我是笨蛋,请详细解释。
尤其是循环控制、字符输入长度截取、数字……
谢谢。
public class NumberLenghtLimitedDmt extends PlainDocument {
private int limit;
private boolean flag;
public NumberLenghtLimitedDmt(int limit, boolean flag) {
super();
this.limit = limit;
this.flag = flag;
}
public void insertString(int offset, String str, AttributeSet attr)
throws 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 (flag == true) {
if (upper[i] >= '0' && upper[i] <= '9') {
upper[length++] = upper[i];
}
} else {
upper[length++] = upper[i];
}
}
super.insertString(offset, new String(upper, 0, length), attr);
}
}
}
展开