Emacs or VIM (they are both dual-modal ® and with just a few hundred key presses you can achieve things that you do in MS Word in a mouse click). Can't go wrong with either, packed with features, user friendly and highly productive even after a few hours of learning.
Only you can find the right editor for yourself. Most people here will probably use Eclipse, Netbeans or IntelliJ. The first two are free and probably the most common. There are plenty of others.
Also if you are new to Java then spend a short time working on the command line in a simple text editor.
I use Eclipse for what it is worth.
I would echo the others and would add that the value of learning to do pretty much ANYTHING in terms of development without resorting to tools to keep one out of trouble is valuable like diamonds. There is absolutely no substitute for KNOWING what's going on rather than what the tool was supposed to have built.
There are many times when I run into developers who learned to do something with an ide and when they don't have it and everything goes out the window they have no idea where to go or how to fix whatever's wrong. Netbeans though personally there are things I love about the tool is prone to doing things to be helpful and that has caused problems in the past.
All of that said, my ide of choice (first tool that I reach for) is eclipse.
PS.
> This may be cultural. As an example, it's not hard to
> compile a modest Java desktop app, even if it
> requires some library jars. Now ask a Windows
> programmer if they've ever compiled .NET code from
> the command line!
I have done this, and it does work! But only after diving into Andrew Troelsen's C# book. I highly recommend this book because it teaches you some of the inner workings of .NET, C#, the common intermediate language (CIL), common type system (CTS), and a whole bunch of other TLAs (three letter acronyms).
> I missed this first time round, but I'd remind
> everyone that a code editor need not be an IDE. I
> think it's perfectly reasonable for even a newbie to
> use a decent highlighting code editor
>
> TextPad was my favourite pre-IDE code editor, but
> your mileage may vary
Good point. And its free and a small download:
http://www.textpad.com/
> > I missed this first time round, but I'd remind
> > everyone that a code editor need not be an IDE. I
> > think it's perfectly reasonable for even a newbie
> to
> > use a decent highlighting code editor
> >
> > TextPad was my favourite pre-IDE code editor, but
> > your mileage may vary
>
> Good point. And its free and a small download:
>
> http://www.textpad.com/
Although you can pay to register it, which I think is worth doing if you use it a lot. The guy's put a lot of effort into the product, he should get something back
> > Good for you, but my point stands. The percentage
> of
> > Java developers
> > who can do things from the command line is much
> > higher than their
> > .NET bros.
>
> and this is a measure of? I mean, is this some sort
> of metric?
I don't know Thing One about deploying .NET apps, but for Java, deployment is still very much a command-line process. Being able to use command-line Java tools is still a definate advantage, and something most professional Java developers will have to do at some point in their career. I suspect that's at the root of big daddy's point
> My point was: if someone is new to Java, but has at
> least dabbled in VB, they may be of the opinion that
> it's *all* about the IDE. The thought of doing
> *anything* on the command line may come as a shock.
People who come from a Windows environment come in two forms. They can either be cured in which case we will care for them tenderly until their affliction with Microsoft technologies passes, or they cannot be cured in which case it's best for them if we put them out of their misery.
PS.