BlueJ is a great IDE for learning Java. It has everything that a beginner needs to get up and running, has an intuitive UI, and allows dynamic creation of objects without writing a "main" method.
The one thing that BlueJ is not intended to do, however, is medium to large size Java development. In my experience (and many students have also observed this), once your program hits 20+ classes, it is a good time to move to a more "professional" IDE, something like NetBeans or Eclipse.
I have been a NetBeans user since 2002, and I use NetBeans to create Env3D itself, so when I think about writing large Env3D programs, I naturally wanted to use NetBeans.