java JTextField 控制输入位数

来源:百度知道 编辑:UC知道 时间:2024/05/17 23:14:39
我做的是计算器 text = new JTextField("0"); 这个是建立的text还有初始值 如何控制输入位数值在10位呢
还可以控制小数点的位数吗
用这个DocumentListener 怎么监听呢 我只是想控制输入个数 输入到万位吧 也需要这么多代码吗

可以;
补充:不需要监听,JAVA已经实现了监听,你只要有下面的代码就行:

protected Document createDefaultModel() {
return new UpperCaseDocument();
}
============================================

public class UpperCaseField extends JTextField {

public UpperCaseField(int cols) {
super(cols);
}

protected Document createDefaultModel() {
return new UpperCaseDocument();
}

static class UpperCaseDocument extends PlainDocument {
//每次修改或增加某个字符或数字等文本框的值,会自动的调用这个方法,你可以在这个方法里对文本框的值,进行控制,效果很好,这是JDK的方法,
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException {

if (str == null) {
return;
}
char[] upper = str.toCharArray();
for (int i = 0; i < upper.length; i++) {
upper[i] = Character.toUpperCase(upper[i]);
}
super.insertString(offs, new String(upper), a);
}
}
}

===============================