Получение удаленного текста из текстового компонента Java

StackOverflow https://stackoverflow.com/questions/590951

Вопрос

A JTextComponent позволяет вам добавить DocumentListener к его Document, который сообщит вам, когда текст был добавлен или удален, а также смещение и длину изменения.Однако в нем не будет указано, каков был текст изменения.

Это не представляет большой проблемы при добавлении текста, так как вы можете использовать смещение и длину для поиска добавленного текста.Однако вы не можете использовать его для поиска удаленного текста, так как текст уже исчез.

Кто-нибудь сталкивался с этой проблемой раньше?Как вы можете получить строку, которая была удалена из документа?

Это было полезно?

Решение

Установите DocumentFilter в AbstractDocument.

(КСТАТИ:В Swing обычно лучше всего сразу перейти к модели (в данном случае document).)

Другие советы

Каждый раз, когда добавляется текст, сохраняйте документ в памяти.Каждый раз, когда текст удаляется, сравнивайте документ с тем, что было сохранено последним, чтобы определить, что было удалено.

сохраните исходную версию текста в свойстве, где вы все еще можете выполнить "трюк со смещением длины", чтобы получить удаленную строку.должно получиться нормально

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top