Возможно, вы захотите изучить фильтры документов .
Добавление фильтра документов позволит вам изменить (или даже запретить) строку, добавленную в документ JTextArea
. Пользовательский фильтр документов может быть добавлен, если ваша текстовая область использует некоторый подкласс AbstractDocument
в качестве реализации документа. Примерно так:
AbstractDocument doc = (AbstractDocument)textArea.getDocument();
doc.setDocumentFilter( new DocumentFilter() {
public void insertString( FilterBypass fb, int offset, String string,
AttributeSet attr ) throws BadLocationException
{
// Test string here and modify if required, then call super.insertString()
// (usually called on a "paste")
}
public void replace( FilterBypass fb, int offset, int length,
String text, AttributeSet attrs ) throws BadLocationException
{
// Test string here and modify if required, then call super.replace()
// (usually called when characters are typed)
}
});
(В вашей "реальной" реализации вы можете приятно проверить, что на самом деле используется AbstractDocument
, а не приведенный мной актерский состав).