codice:
class MyPlainDocument extends PlainDocument {
// NON elimina questi caratteri! (elimina tutti gli altri)
private static Pattern pattern = Pattern.compile("[^A-Za-z0-9_.-]");
public void insertString(int offs, String str, AttributeSet attr) throws BadLocationException {
if (str == null)
return;
String filteredStr = pattern.matcher(str).replaceAll("");
super.insertString(offs, filteredStr, attr);
}
}
Come si può vedere è molto semplice e pulito. Da notare il [^.... che "nega" la classe di caratteri.