问题如题
另外本想用上jTextField_IP_inputMethodTextChanged这个事件 但是怎么没有反映
public void jTextField_IP_inputMethodTextChanged(InputMethodEvent event) {
另外本想用上jTextField_IP_inputMethodTextChanged这个事件 但是怎么没有反映
public void jTextField_IP_inputMethodTextChanged(InputMethodEvent event) {
我用的是swing控键 不是页面
重写insertString(int offs, String str, AttributeSet a)方法,在这里用正则表达式来检验输入字符串是否匹配你的要求,如果不匹配就return;
匹配的话:
super.insertString(offs, str, a);你的JTextFeild有个setDocument(Document doc)方法用来将编辑器与一个文档相关联,你可以用这个方法将你的MyDocument和JTextFeild关联,这样就能在你输入新的内容时检测输入是否合法。下面是JavaAPI文档中javax.swing.JTextFeild给出的继承PlainDocument的小例子,你可以参考下:public class UpperCaseField extends JTextField {
public UpperCaseField(int cols) {
super(cols);
}
protected Document createDefaultModel() {
return new UpperCaseDocument();
}
static class UpperCaseDocument extends PlainDocument {
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);
}
}
}
http://community.csdn.net/Expert/topic/4953/4953977.xml?temp=.6917536