2013-12-20 3 views
0
private class HandlerClass implements ActionListener 
    { 
     public void actionPerfomed(ActionEvent event) 
     { 
      JOptionPane.showMessageDialog(null, String.format("%s", event.getActionCommand)); 
     } 
    } 

Это часть моего кода, и когда я скомпилирую, я получаю сообщение об ошибке: HandlerClass не является абстрактным и не переопределяет абстрактный метод actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener. Насколько я понимаю, actionPerformed должен переопределить HandlerClass не так ли? Я уже пробовал добавить «abstract» перед словом class, но затем я получаю еще одну ошибку, так как я не могу назвать абстрактный класс. Я не уверен, может быть, есть исключение, которое я могу использовать для решения этой проблемы?Класс не абстрактный?

ответ

7

В принципе, у вас есть орфографическая ошибка ...

actionPerfomed 

Должно быть

actionPerformed 
      ^---- ;) 

Вы также можете использовать @Override аннотацию, которая сообщит вам, когда вы пытаетесь переопределить метод, который не существует в родительских классах ...

@Override 
public void actionPerformed(ActionEvent event) 
{ 
    JOptionPane.showMessageDialog(null, String.format("%s", event.getActionCommand)); 
} 
+6

+ вы можете добавить @Override на встречном hod –

+2

Ну ... это неловко. –

+0

@Vakh Это отличная рекомендация! – MadProgrammer

Смежные вопросы