Вы можете узнать, откуда вызываются методы, вызвав Thread.dumpStack()
. Это выведет трассировку стека в поток ошибок (возможно, консоль Java). Либо используйте отладчик и поместите точку останова в первую строку метода.
public void actionPerformed(ActionEvent e) {
Thread.duumpStack();
System.out.println("This should not appear in the console before button click");
...
Кстати: я рекомендую не использовать EventObject.getSource
. Вместо этого добавьте новый слушатель для каждого действия.
Итак, ваш пример кода будет:
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.out.println("answer1");
}
});
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.out.println("answer2");
}
});
К сожалению, шаблон, связанный с анонимными внутренними классами, явно многословен, но намерение яснее.