Это ссылка на объект класса, который реализует интерфейс ActionListener
для вас addActionListener
.
Если вы реализовали для этого «автономный» класс, он будет экземпляром этого класса. Если вы передали анонимный класс, то это ссылка на экземпляр этого анонимного класса.
Если слушателем действия является сам JDialog, то this
ссылается на объект JDialog.
В вашем случае вы используете анонимный класс. Так внутри actionPerformed
, this
относится к экземпляру этого класса. Но , обратите внимание, что вы вызываете функцию, которая не определена в этом анонимном классе. Вот где происходит «волшебство»: внутренние классы имеют ссылку на класс-оболочку.
jButton5ActionPerformed(evt);
эквивалентно:
myenclosingobject.jButton5ActionPerformed(evt);
То есть внутри jButton5ActionPerformed
, this
относится к объекту включающего класса, который создал этот экземпляр анонимного класса.
Это объясняется в JLS Внутренние классы и включающие экземпляры :
Экземпляр i прямого внутреннего класса C класса O связан с экземпляром O, известным как непосредственно включающий экземпляр i. Непосредственно включающий экземпляр объекта, если таковой имеется, определяется при создании объекта (§15.9.2).