I\'m using DocumentFilter to restrict input as integer or decimal. And the code I post here is working well for that.
Can anybody help me about how to restrict the i
Based on MadProgrammer answer I tested editing his "replace" function in "MyIntFilter" class to:
@Override
public void replace(FilterBypass fb, int offset, int length, String text,
AttributeSet attrs) throws BadLocationException {
Document doc = fb.getDocument();
StringBuilder sb = new StringBuilder(2);
sb.append(doc.getText(0, doc.getLength()));
sb.replace(offset, offset + length, text);
if (test(sb.toString())) {
if (sb.length() < maxLength + 1) { //test string size
super.replace(fb, offset, length, text, attrs);
}
}
} else {
// warn the user and don't allow the insert
}
}
it worked fine for me.