سؤال

أ JTextComponent يسمح لك بإضافة DocumentListener إلى حد Document, ، والتي ستخبرك عند إضافة نص أو إزالته، وإزاحة وطول التغيير. ومع ذلك، لن يخبرك ما هو نص التغيير.

هذه ليست مشكلة كبيرة للإضافة النصية، حيث يمكنك استخدام الإزاحة والطول للعثور على النص المضافة. ومع ذلك، لا يمكنك استخدامه للعثور على النص المحذوف، حيث أن النص قد ذهب بالفعل.

هل يركض أي شخص في هذه المشكلة من قبل؟ كيف يمكنك الحصول على السلسلة التي تم حذفها من وثيقة؟

هل كانت مفيدة؟

المحلول

تثبيت أ DocumentFilter داخل ال AbstractDocument.

(راجع للشغل: في الأرجوحة عادة ما يكون من الأفضل أن تذهب مباشرة إلى النموذج (في وثيقة الحالة هذه).)

نصائح أخرى

يتم إضافة النص في كل مرة، تخزين المستند في الذاكرة. تتم إزالة النص في كل مرة، ومقارنة المستند إلى ما تم تخزينه الأخير لتحديد ما تمت إزالته.

قم بتخزين الإصدار الأصلي للنص في خاصية حيث يمكنك القيام ب "خدعة طول الإزاحة" للحصول على السلسلة التي تمت إزالتها. يجب أن تفعل غرامة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top