1. Free, open source, reliable
One strong point is that NetBeans is free, but it is very reliable too. You can download it for free. After an easy and straight forward installation you can start developing your own programs in Java, C++, PHP, etc.
2. Java Swing GUI builder
What I really do like in NetBeans is the GUI builder! It is just amazing. You can create well-looking, functional graphical user interfaces with a few mouse gestures. Of course, when you need something special including complex, external graphical elements, you can do it with other tools developed for that reason in a better way. However, for most of us NetBeans’ built-in GUI builder provides more than necessary graphical user interface design support.
NetBeans has a great support if you have questions. This is a point that makes NetBeans very strong.
4. Good performance
NetBeans has a good performance relative to other open source integrated development environments. Of course, it needs good hardware to perform at peak level, but lees good (to not say worse) PCs also can run it in relatively good performance.
5. Intelligent code completion
Code completion is not something new. What makes NetBeans different is the way it handles code completion. There are two commonly used ways. One is to type a mnemonic and simply hit Tab, for example:
sout becomes System.out.println(“”);
The other way is to write code and hit Ctrl + Space. If there is just one possible suffix, it will be appended to the code. In case of more possible solutions a list containing them will be displayed. Here comes what makes NetBeans very handy: the list of possible code snippets are not ordered just by lexicographic order, but also are grouped by their frequency of use. In other words, those lists are automatically personalized.
6. Generate getters and setters
NetBeans has the ability of generating the getter and setter functions for existing variables. This can be very useful in case of a complex class.
7. Error handling
When developing in NetBeans it shows that you have error in various ways. You can see little red pins near the vertical scrollbar. If you click on them the cursor automatically jumps to the erroneous line. Error are either underlined with red (sever errors) or with yellow (sort of warnings). If you click on the little bubble near the error line or hit Alt + Enter with the cursor on the erroneous line, a list of possible solutions will pop-up.
As an example scenario:
You use a class, but forgot to import it. NetBeans will do it for you with Alt + Enter, after what you select the class to import, if more possible classes are with the same name, and hit Enter again to choose the solution. After some modification in your code, you no longer use that class. The import statement will be underlined showing you that there might be some warning: hit Alt + Enter, and hit Enter again to remove the import line. That’s it!
8. Powerful refactoring
NetBeans has a powerful refactoring support. It previews all the changes and provides you a numerous ways to modify your existing code.
9. Reverse engineering
Using the reverse engineering solutions you can easily generate UML diagrams such as class diagrams, sequence diagrams, etc. They can be customized in a GUI and can be exported in a big number of formats (including raster and vector formats too).
NetBeans come with built-in JUnit for Java unit testing. Using JUnit testing in NetBeans is easy and shows sophisticated statistics in terms of errors, success, time, etc.
As a conclusion I’d like to state that probably there are better IDEs than NetBeans, but in my opinion NetBeans is the king of Java IDEs (and probably not just Java) for free and open-source. It is not as extensible as Eclipse is, but NetBeans is an easier to use, more user friendly, more intuitive development environment that comes with better UTF-8 support.