Так что я пытаюсь передать текущий класс внутри конструктора с actionlistnerПередача текущего класса в конструкторе, внутри ActionListener
что-то вроде этого :
public ActionListener createTaskListener() {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
CreateTask ct = new CreateTask();
CreateTaskController ctc = new CreateTaskController(ct, mod.getAssessments(), this);
// but it says anonymous actionlistener
ctc.loadDataToTaskView();
ct.setVisible(true);
}
};
}
Каков общий подход к такая проблема? Или это просто дрянной код?
почему вы голосуете меня down.is мое решения не делать то же самое, как acceptd answer.Is его bcos я просил голосование? и что не так с этим. Давайте будем объективными – suulisin
Хорошо, я сожалею. Не повторю его в следующий раз – suulisin
ok. в основном это внутри внутреннего класса относится к внутреннему классу. Поэтому, чтобы ссылаться на внешний класс, вы используете OuterclassName.this.Это лучшее, что я могу объяснить. я действительно сожалею. в следующий раз я буду сопровождать свой ответ с небольшим количеством объяснений – suulisin