This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
Inner classes are quite often very useful. Anonymous inner classes are great for when you need a class only at one specific point in your code. Event listeners are quite often programmed as anonymous inner classes.
The only problem about anonymous inner classes is that bit Rob mentioned about "one specific point". It can be difficult to be sure you won't need something similar elsewhere. If I am sure there is only one place I shall use it, I am happy to use an anonymous inner class.