| Home | Description | Showcase

Why would you use the NetBeans Platform? What does the NetBeans Platform give you? Many out-of-the-box components and much else besides.

Description of Main Reusable Components

The main reusable components comprising the NetBeans Platform are as follows:

Modular Runtime Container

Just as application servers such as GlassFish provide lifecycle services to web applications, the NetBeans runtime container provides them to Swing applications. Application servers understand how to compose web modules, EJB modules, and so on, into a single web application, just as the NetBeans runtime container understands how to compose NetBeans modules into a single Swing application.

Modularity offers a solution to "JAR hell" by letting developers organize their code into strictly separated and versioned modules. Only those that have explicitly declared dependencies on each other are able to use code from each other's exposed packages. This strict organization is of particular relevance to large applications developed by engineers in distributed environments, during the development as well as the maintenance of their shared codebase.

End users of the application benefit too because they are able to install modules into their running applications, since modularity makes them pluggable. In short, the NetBeans runtime container is an execution environment that understands what a module is, handles its lifecycle, and enables it to interact with other modules in the same application.

Watch the video:

Loose Coupling & Context Sensitivity Management

The JDK 6 ServiceLoader class lets you load objects into a standard Java application's application context. The NetBeans equivalent, which is the Lookup class, provides the same functionality, dependency injection, and much else besides.

Not only can you use this class to enrich a module's context, but also the context of windows and other components within a module. The Lookup feature enables modules to communicate with each other in a type-safe manner and in such a way that objects defined in one module can be used in another module, without the two modules needing to depend on each other.

Watch the video:

System FileSystem

When you install applications onto your computer, the application's installer writes folders and files into the operating system. The NetBeans filesystem offers similar functionality to your Swing applications. Each module installed into a Swing application can install folders and files into the application's filesystem, allowing other modules in the application to find them and use them.

For example, if there are settings that you'd like one module to make available to your application, you can register them in the filesystem. In this way, the NetBeans filesystem enables modules within your application to communicate with each other.

Watch the video:

Window System

Most serious applications need more than one window. Coding good interaction between multiple windows is not a trivial task. Out of the box, the NetBeans Platform provides functionality such as maximize/minimize, dock/undock, and drag-and-drop of windows in your application. That is made possible because windows in a NetBeans Platform application are part of the NetBeans window system.

Watch the video:

Data Management

With the NetBeans Platform, you're not constrained by one of the typical pain points in Swing: the JTree model is completely different to the JList model, even though they present the same data. Switching between them means rewriting the model. The NetBeans Nodes API provides a generic model for presenting your data. The NetBeans Explorer & Property Sheet API provides several advanced Swing comonents for displaying nodes. As a result, by rewriting one single line of code, you can completely change the way the model is presented without touching the model at all. In turn, this lets you very quickly and efficiently present data to your users.

Watch the video:

Other Benefits

Other factors that have persuaded developers to use the NetBeans Platform include the fact that the NetBeans Platform uses Swing, which is the official standard UI toolkit, that it enables applications to have a consistent look and feel, that the Matisse GUI Builder enables you to very easily design your application's layout, that the NetBeans Platform provides a rich set of APIs, and that the NetBeans Platform is tried, tested, and continually being improved. Finally, the community is helpful and diverse, while blogs, books, tutorials, and training materials are continually being developed in multiple languages by many different people around the world.

Project Features

Project Links

About this Project

Platform was started in November 2009, is owned by Antonin Nebuzelsky, and has 152 members.
By use of this website, you agree to the NetBeans Policies and Terms of Use (revision 20160708.bf2ac18). © 2014, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo
Please Confirm