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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top