I like NetBeans (http://www.netbeans.org/) - it's Open Source (Sun Public
License, which is a variant of Mozilla Public License).
The good thing is that it's written completely in Java, so it's portable
(which is an issue to me since I use it on Linux, Solaris, and Win2K, and
I've also seen it running on OS/2 and MacOSX).
The bad thing is that it's written completely in Java, so it takes a lot
of memory (at least 50M) so I only use it on a machine with 256M (I have
to have several other things also open at the same time). One of my
machines has "only" 128M so before I fire up NetBeans I close down
everything else.
Sun's Forte For Java free-for-download version is actually Sun-branded
NetBeans - basically the same, save for a few minor details. The ones you
pay for have a lot of other goodies included (see
http://www.sun.com/forte/ for details).
Most of the time I'll simply use Vi IMproved (http://www.vim.org/) with
command line - even on Win2K (yes, there is a Windows version and it's
just as good as the UN*X one). VIM is small, fast, customisable, supports
syntax highlighting - it's programmer's best friend.