1. Why we use enableEvents() method?
If you mean the method that is in the java.awt.Component class, then the answer is you probably will never use it. But if you write your own component class that in certain states needs to handle/ignore certain events then you can programmatically enable/disable specific classes of event for your component. By default all events classes are enabled so you are more likely to use the disableEvents() method first.

The classes of event you might want to programmatically disable/enable are things like action events, focus events, key events, adjustment events etc. (See the AWTEvent class for the defined event masks.