For Java I use JBuilder and I really like it. It checks for simple errors in your code as you type - for instance missing a ; or a }.

If you want to go down the free road get JCreator (do a search...