Получение удаленного текста из текстового компонента Java - PullRequest
4 голосов
/ 26 февраля 2009

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

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

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

Ответы [ 3 ]

4 голосов
/ 26 февраля 2009

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

(Кстати: в Swing обычно лучше сразу перейти к модели (в данном случае документ).)

0 голосов
/ 26 февраля 2009

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

0 голосов
/ 26 февраля 2009

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

...