3

JTextArea で許可される文字を制限する簡単な方法があるかどうかは誰でも知っています。つまり、MaskFormatter を使用した JTextField に似ています。

具体的には、JTextArea で使用できる文字を大文字のみに制限し、!"#¤%&/()= のような非常に限られたセット文字のみに制限したいと考えています。

4

4 に答える 4

2

ドキュメント フィルターのチェーンの概念が興味深いと思われるかもしれません。最初のフィルターは小文字を大文字に自動的に変換するため (上記のリンクに含まれています)、ユーザーはこれについて心配する必要がありません。次に、2 番目のフィルターはすべての文字を検証します (独自に記述する必要があります)。

于 2009-10-27T15:18:36.000 に答える
2

を実装しjavax.swing.text.DocumentFilterて、不適切な文字を削除します。それをお気に入りに設定し、それであなたAbstractDocumentを構築しますJTextArea

于 2009-10-27T11:39:47.503 に答える
0

メソッドを拡張PlainDocumentおよび変更しinsertString()て、不要な文字をすべて除外し、小文字を大文字に置き換えてみてください。次に、この特別なドキュメントを で使用できますJTextArea

于 2009-10-27T10:57:51.657 に答える
0

JTextArea ドキュメントにフィルターを割り当てることができます。クラス DocumentFilter のメソッド insertString をオーバーライドして、文字を無視するだけです。

于 2009-10-27T11:41:47.653 に答える