import javax.swing.text.*;
/**
* 此处插入类型说明。
* 创建日期:(2003-05-22 18:34:46)
* @author:Administrator
*/
public class Limit extends PlainDocument {
private int limit;
// optional uppercase conversion
private boolean toUppercase = false;
}Limit(int limit) { //一个方法
super();
this.limit = limit;
}Limit(int limit, boolean upper) { //一个方法
super();
this.limit = limit;
toUppercase = upper;
}public void insertString(int offset, String str, AttributeSet attr)
throws BadLocationException {
if (str == null)
return; if ((getLength() + str.length()) <= limit) {
if (toUppercase)
str = str.toUpperCase();
super.insertString(offset, str, attr);
}
}这是一个信息系统的部分代码 请给点注释,把问题讲明白!!
/**
* 此处插入类型说明。
* 创建日期:(2003-05-22 18:34:46)
* @author:Administrator
*/
public class Limit extends PlainDocument {
private int limit;
// optional uppercase conversion
private boolean toUppercase = false;
}Limit(int limit) { //一个方法
super();
this.limit = limit;
}Limit(int limit, boolean upper) { //一个方法
super();
this.limit = limit;
toUppercase = upper;
}public void insertString(int offset, String str, AttributeSet attr)
throws BadLocationException {
if (str == null)
return; if ((getLength() + str.length()) <= limit) {
if (toUppercase)
str = str.toUpperCase();
super.insertString(offset, str, attr);
}
}这是一个信息系统的部分代码 请给点注释,把问题讲明白!!
private int limit; //总的字数限制
// optional uppercase conversion
private boolean toUppercase = false;//是否转换成大写Limit(int limit) { //一个方法
super();
this.limit = limit; //传递参数字数限制
}Limit(int limit, boolean upper) { //一个方法
super();
this.limit = limit; //构造方法传递字数限制
toUppercase = upper; //构造方法传递是否传换成大写
}public void insertString(int offset, String str, AttributeSet attr)
throws BadLocationException { //添加的字符串为空,返回
if (str == null)
return;
//如果添加后的总字符串长度不大于字符串总长度
if ((getLength() + str.length()) <= limit) {
//如果转成大写的
if (toUppercase)
str = str.toUpperCase();
//调用父类的插入字串到打印属性容器中
super.insertString(offset, str, attr);
}
}understand?
第一个构造函数传入一个参数,这个参数是限制插入字符串的长度
第二个构造函数传入两个参数,其中的limit和上面的一样,boolean upper表明插入的字符串是否转换成大写。
insertString()为字符串插入函数
比如验证格式,长度。
只要在 JTextField.setDocument(new Limit()); 以后就可以启用限制了。
JDK 4 和 5 对这个增强了, 还可以有其他方法达到同样目的。可以看看 JDK 文档或者 IBM Java Merlin 专栏。