LoginPanel is not abstract and does not override abstract method actionPerformed.. I am not sure what does the errors meant, I'll be thankful if anyone can explain.. A class that is defined to implement an interface, must provide implementations for all of the methods declared in that interface; otherwise the class must defined to be abstract. Your LoginPanel class is defined to implement the interface ActionListener. The ActionListener interface declares a method called actionPerformed. Your LoginPanel doesn't implement this method properly. (See Ernest's post above.) So, the compiler is complaining that the class cannot be defined to not be abstract.