NetBeans

A free, open-source Integrated Development Environment for software developers. You get all the tools you need to create professional desktop, enterprise, web, and mobile applications with the Java language, as well as C/C++, PHP, JavaScript, Groovy, and Ruby. It easy to install and use straight out of the box and runs on many operating systems including Windows, Linux, Mac OS X and Solaris.

Netbeans supports autocompletion, annotations, macros, auto-indentation, etc. It includes visual design tools (wizards) for code generation. It integrates with numerous compilers, debuggers, Java Virtual Machines and other tools.