NetBeans

Apache NetBeans 30

NetBeans is a free, open source integrated development environment (IDE) for developing applications in Java and other programming languages.

Updated May 11, 2026
496.52 MB
4.5

Use the arrow keys to choose a rating, then press Enter or Space to submit it.

Excellent 2 user ratings

App Specs

DeveloperApache NetBeans
LicenseFreeware
CategoryInternet
Available platformsWindows, macOS
Downloads964

Overview

Apache NetBeans is a free, open-source integrated development environment for writing, building and examining applications on Windows, macOS, Linux and BSD. Its Java tools connect source editing with project builds, Swing interface design, debugging and performance profiling. The IDE also supports PHP and web development with JavaScript, HTML and CSS.

How NetBeans organizes and builds Java projects

NetBeans organizes an application as a project containing its source files, libraries and build configuration. Wizards create Java applications and class libraries, while the Projects window displays their packages and dependencies. The Navigator provides a separate view of the members in the selected class, so moving to a method does not require searching through the entire file.

Maven and Ant projects connect the editor to the build process. An application can reference a separate library project, making its classes available for code completion and compilation. For an Ant-based Java application, Clean and Build clears earlier generated files, compiles the source and produces a JAR, with dependent libraries placed alongside it. Run settings select the main class and arguments; the Output window displays build messages and the application’s console output.

Writing and transforming Java code

The Java editor uses the surrounding code to suggest classes, methods, keywords and parameters. Completion can show related Javadoc information and add an import when inserting a class name.

Code templates expand abbreviations into larger fragments, such as a main method or a print statement. Formatting rules control indentation, wrapping and blank lines, while folding collapses methods, comments and imports. Syntax and semantic highlighting distinguish elements of the program; editor hints offer changes at relevant locations.

For changes across existing code, Apache NetBeans provides Inspect and Transform. A developer chooses an inspection or a group of inspections and limits its scope to selected files, packages or projects. The IDE displays proposed transformations in a preview before applying them. Import organization can follow configured style rules, and custom inspections can specify a code structure to find and its replacement.

Swing forms

The GUI Builder turns a visual form design into Java Swing layout code. Components come from a palette and can be placed, resized and aligned in the design area. Guidelines show spacing and alignment relationships, and anchoring controls determine how components relate to their container when it changes size. The Properties window edits the selected component, while the Navigator shows the form’s component hierarchy.

NetBeans uses GroupLayout to represent these relationships in the generated interface. Design and Source views let a developer move between the form and its Java class, but generated layout sections are protected from direct source editing. Changes to those sections go through the designer; application code can be written in the editable areas. Custom components from libraries, JARs or other projects can also be added to the palette.

JUnit tests

JUnit integration creates test files for Java classes and runs either an individual test file or the project’s tests. Assertions compare calculated results with expected values, and the Test Results window reports the outcomes. The project separates test packages and test libraries from the application’s source packages.

Java debugging

The Java debugger follows the running program. A line breakpoint pauses execution at the selected statement, and the Variables window exposes values, including entries inside arrays. Stepping into code then shows how those values change through successive operations.

Java profiling

Apache NetBeans can examine CPU time, threads and memory allocation while a Java application runs. CPU sampling periodically captures stack traces, while instrumentation records method activity in greater detail, including time spent and invocation counts. Profiling can focus on selected classes or methods to limit the amount of code being measured.

Memory results show the types and numbers of allocated objects. Saved snapshots preserve profiling results for comparison, allowing a developer to examine differences between runs or stages of execution. Detailed instrumentation adds overhead, so the choice between sampling and instrumentation affects both the information collected and the running application.

PHP, HTML and JavaScript projects

PHP projects store source locations and execution settings, with configurations for a local website, remote deployment over FTP or command-line execution. NetBeans works with the configured PHP environment and web server to run the application.

HTML and JavaScript projects can begin with an empty site or a site-template ZIP that supplies the files, libraries and directory structure. The editor provides completion when writing HTML and CSS, and the project keeps page markup, scripts, stylesheets and images together.

Similar Apps