Доступ к внешнему классу изнутри слушателя?


У меня есть слушатель внутри класса A, и я хочу передать класс A моему классу B внутри слушателя. Обычно я просто использую это, но затем я получаю событие, которое вызвало слушателя.

2 5

2 ответа:

A.this.

(редко бывает полезен внутренний класс this. Действительно, относительно часто встречаются ошибки, в которых использовался неправильный this. Поэтому очень жаль, что это дефолт. Не собираюсь меняться после 12 лет.)

Вы можете добавить ссылку на класс A в конструктор для прослушивателя:

class_a_obj.addActionLister(new ActionListener(class_a_obj) { ...