Obtenir le texte retiré d'un composant texte Java
-
09-09-2019 - |
Question
Un JTextComponent
vous permet d'ajouter un DocumentListener
à son Document
, qui vous dira quand le texte a été ajouté ou supprimé, et le décalage et la longueur du changement. Il ne sera pas, cependant, vous dire ce que le texte du changement a été.
Ce n'est pas un gros problème pour l'ajout de texte, que vous pouvez utiliser le décalage et la longueur pour trouver le texte ajouté. Cependant, vous ne pouvez pas l'utiliser pour trouver le texte supprimé, car le texte est déjà parti.
Quelqu'un at-il rencontré ce problème avant? Comment pouvez-vous obtenir la chaîne qui a été supprimée d'un document?
La solution
Installer un DocumentFilter
dans le AbstractDocument
.
(BTW:. In Swing, il est généralement préférable d'aller directement au modèle (dans ce document de cas))
Autres conseils
Chaque texte de temps est ajouté, stocker le document en mémoire. Chaque texte est temps retiré, comparez le document à ce dernier a été stocké pour déterminer ce qui a été supprimé.
stocker la version originale du texte dans une propriété où vous pouvez toujours faire le « tour-offset longueur » pour obtenir la chaîne enlevée. devrait faire amende