Obtendo o texto removido de um componente de texto Java
-
09-09-2019 - |
Pergunta
A JTextComponent
permite que você adicione um DocumentListener
à sua Document
, que lhe dirá quando o texto foi adicionado ou removido, e o deslocamento e comprimento da mudança. Não vai, no entanto, dizer-lhe que o texto da mudança foi.
Este não é um grande problema para a adição de texto, como você pode usar o deslocamento eo comprimento para encontrar o texto adicionado. No entanto, você não pode usá-lo para encontrar o texto excluído, como o texto já se foi.
Tem alguém executar para esse problema antes? Como você pode obter a seqüência que foi excluído de um documento?
Solução
Instale um DocumentFilter
no AbstractDocument
.
(BTW: No balanço normalmente é melhor ir direto para o modelo (neste caso documento).)
Outras dicas
Cada texto tempo é adicionado, armazenar o documento na memória. Todo texto tempo é removido, comparar o documento com o que foi passado armazenado para determinar o que foi removido.
armazenar a versão original do texto em uma propriedade onde você ainda pode fazer o "deslocamento de comprimento-trick" para obter a seqüência removido. deve fazer muito bem