The usage of Adapter patttern in the java.awt.event package looks confusing to me. On the first hand it seems a clear violation of Interface Segregation Principle ( ISP ).
Like the MouseMotionAdapter class implements MouseMotionListener but provide 'NIL' implementation for both the overridden methods.
This is precisely what ISP violation is all about ? Going by ISP, MouseMotionListener would be rather split into two separate interfaces, one each for moseDragged and moveMoved behaviour ?
Perhaps splitting interfaces in this way would spiral the number of interfaces and also would make the coding more inelegant as each implementing classes would require to implement large number of interfaces.
Just need some clarification if my arguments are justified ?
..Adapter) classes that you can extend with just the methods you actually needs also "removes" the ISP problem in your code. You don't depend / depend less on methods that you don't need.XyzAdapter's in AWT are only stubs, not the implemention of adapter