How to limit a JTextArea to only accept a legal set of characters?

后端 未结 4 1763
闹比i
闹比i 2021-01-20 05:09

Anybody know if there is an easy way to limit the allowed characters for a JTextArea. I.e. similar to JTextField using MaskFormatter.

Specifically I want to limit th

相关标签:
4条回答
  • 2021-01-20 05:24

    Implement a javax.swing.text.DocumentFilter to remove inappropriate characters. Set that on your favourite AbstractDocument and construct you JTextArea with that.

    0 讨论(0)
  • 2021-01-20 05:35

    Try to extend PlainDocument and change the method insertString() to filter out all unwanted characters and replace lower with uppercase letters. Then you can use this special document in your JTextArea.

    0 讨论(0)
  • 2021-01-20 05:37

    You can assign a filter to JTextArea document. Just override the method insertString in the class DocumentFilter to ignore the characters

    0 讨论(0)
  • 2021-01-20 05:43

    You may find the concept of Chaining Document Filters interesting. The first filter would automatically convert lower case characters to upper case (included in above link) so the user doesn't have to worry about this, then the second filter would validate all the characters (you would need to write your own).

    0 讨论(0)
提交回复
热议问题