📄 numberdocument.java
字号:
package cn.com.table;
import javax.swing.text.PlainDocument;
import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
//对预算表中的文本框的输入进行输入限制,构造PlainDocument实现,只能输入数字和小数点
public class NumberDocument extends PlainDocument {
private JTextField jtf;
public NumberDocument(JTextField jt) { //引进JTextField句柄
super();
jtf = jt;
}
//对数字和单元格的允许的最大值判断
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException {
double max = 100000000000.00; //设定输入框的最大值
char[] source = str.toCharArray();
char[] result = new char[source.length];
int j = 0;
StringBuffer tempstr = new StringBuffer(jtf.getText());
if (tempstr.equals("")) { //点击进入时为空
tempstr.append(0.00);
}
//System.out.println("offs"+offs);
for (int i = 0; i < result.length; i++) {
if (Character.isDigit(source[i])||source[i]=='.') {
tempstr.insert(offs,source[i]);
if (Double.parseDouble(tempstr.toString())<max) {
result[j++] = source[i];
}
}
}
super.insertString(offs, new String(result, 0, j), a);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -