Вы звоните getName()
на this
, это не кнопка, это ваш контекст контекста, который является вашим JFrame
.
Вам необходимо проанализировать источник ActionEvent
.
Здесь я сделал несколько быстрых кодов, которые могли бы делать то, что вы хотите:
actionPerformed(ActionEvent e) {
if(e.getSource() instanceof JButton) {
//Casting here is safe after the if condition
JButton b = (JButton) e.getSource();
System.out.println(b.getText());
} else {
System.out.println("Something other than a JButton was clicked");
}
}
Что я делаю: я проверяю, является ли источник действия JButton
, а затем приводим его кновая локальная переменная, а затем получить текст этого.