Можно ли получить имя объявления объекта во время выполнения в java?

Допустим, у меня есть кнопка где-то в коде: "JButton closeButton". Я не знаю, что это называется «closeButton», но это то, что я хочу узнать.

Во время выполнения эта кнопка нажимается, и как только это происходит, я могу многое узнать об этом через отражение и API AWT - НО я не могу узнать, где он находится - как он называется в коде, какое имя он объявлен как ("closeButton").

Можно ли узнать это из JVM?

Есть ли способ скомпилировать и запустить код таким образом, чтобы имена экземпляров сохранялись во время выполнения?

Возможно, существует какой-то тип «javaagent» (если возможно, бесплатный), который может помочь меня в этой ситуации?

Спасибо

EDIT (14:23 EDT):

Я использую кнопку в качестве примера, но это может быть любой тип компонента, который может содержать значение и к которому прикреплены ActionListeners. Это. Я могу получить каждый бит информации, размышляя об этом компоненте, но я не могу найти ее в коде. Даже если есть 10 компонентов, которые были объявлены с одним и тем же именем, это все равно дает мне преимущество, я могу исключить возможности.

5
задан LoudNPossiblyWrong 31 January 2011 в 19:23
поделиться