На первый взгляд, я вижу здесь несколько проблем, в основном внутри и вокруг метода eventDispatched()
.
Во-первых, почему вы вообще реализуете AWTEventListener
, поскольку вы никогда не добавляете этот объект ни к чему как AWTEventListener
? Вы хотели добавить этот объект себе в качестве прослушивателя событий? Вы добавляете его в качестве прослушивателя событий где-то еще в коде, который здесь не показан?
Во-вторых, почему вы тестируете e instanceof EventObject
? Я вырезал и вставил ваш код в Eclipse, который сразу предупредил меня, что все AWTEvent
объекты являются экземплярами EventObject
. Таким образом, вы можете избавиться от этого теста - он всегда будет правдой.
В-третьих, с какой стати вы прибегаете к размышлению? Похоже, вы пытаетесь использовать метод Swing-only для событий AWT, у которых его нет. Такой подход не сработает - попытка рефлексивно вызвать несуществующий метод просто вызовет исключение, которое этот код будет молча перехватывать и игнорировать.
Наконец, почему ты изобретаешь колесо? Некоторый быстрый поиск в Google показывает более простых примеров и некоторых более сложных примеров , которые вы могли бы использовать в качестве отправной точки для своей работы и которые, вероятно, приблизят вас к тому, что вы действительно хотите здесь.