n 文字が挿入された後、JTextField でのユーザー入力を「無効にする」このコードがあります。
JTextField tf = new JTextField();
tf.addKeyListener(new KeyAdapter() {
public void keyTyped(KeyEvent e) {
if (((JTextField) e.getSource()).getText().length() > n) {
e.consume();
}
}
});
それは機能しますが、代替手段があるかどうか疑問に思っていました。古い遅いコンピューターで試してみたので、テキストフィールドに何かを入力すると文字が追加され、その後消えてしまいます...e.consume()
ユーザー入力後に使用したくない代わりに挿入を直接防止します。
出来ますか?
編集
JTextField
この例にのみ使用したことを忘れていましたが、このコードをJTextPane
、JTextArea
などの一般的なテキスト入力コンポーネントで動作させたいと思います。