الوصول إلى الطبقة الخارجية من داخل المستمع؟
سؤال
ولدي المستمع داخل الفئة (أ)، وأريد أن تمرير الفئة (أ) لصفي B داخل المستمع. عادة كنت مجرد استخدام هذا، ولكن بعد أن احصل على الحدث الذي تسبب في المستمع.
المحلول
وA.this
.
و(ومن النادر أن this
الطبقة الداخلية هي مفيدة، بل ومن الشائع نسبيا أن يكون الخلل حيث تم استخدام this
خاطئ. ولذلك فمن المؤسف أنه هو الافتراضي. ليس على وشك التغيير بعد 12 عاما.)
نصائح أخرى
ويمكنك إضافة مرجع إلى الفئة (أ) في المنشئ للمستمع:
class_a_obj.addActionLister(new ActionListener(class_a_obj) { ...
لا تنتمي إلى StackOverflow