Definisci un Document personalizzato (ridefinendo il metodo insertString) e poi lo imposti sul tuo JTextPane:
codice:
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
public class MyDocument extends PlainDocument {
public void insertString (int offset, String str, AttributeSet attr) throws BadLocationException {
if (str == null) return;
char c = str.toCharArray()[0];
if (c != java.awt.event.KeyEvent.VK_BACK_SPACE) {
super.insertString(offset, str, attr);
}
}
}