DZone, Inc.
|
www.dzone.com
Get More Refcardz! Visit refcardz.com
#128
Getting Started with NetBeans Platform 7.0
CONTENTS INCLUDE:
n
About NetBeans Platform
n
Getting Started
n
Main Features
n
NetBeans Platform Modules
n
NetBeans Platform APIs
n
Reusable Swing Components
and more...
By Heiko Böck, Anton Epple, Miloš Šilhánek,
Andreas Stefik, Geertjan Wielenga, and Tom Wheeler
Getting Started with
NetBeans Platform 7.0
ABOUT NETBEANS PLATFORM
The NetBeans Platform is a generic framework for commercial
and open-source desktop Swing applications.
It provides the “plumbing” (such as the code for managing
windows, connecting actions to menu items, and updating
applications at runtime) that you would otherwise need to write
yourself. The NetBeans Platform provides all of these out of
the box on top of a reliable, flexible, and well tested modular
architecture.
In this Refcard, you are introduced to the key concerns of the
NetBeans Platform, so that you can save years of work when
developing robust and extensible applications.
GETTING STARTED
To get started with the NetBeans Platform:
Tool How to Get Started
NetBeans IDE
Download the “Java SE” distribution of NetBeans IDE, which is
the smallest NetBeans IDE distribution providing the NetBeans
Platform Toolkit, consisting of NetBeans Platform templates &
samples, via either the Ant or Maven build systems.
Command-line Maven
Use the Maven archetypes for NetBeans Platform development.
GroupId: org.codehaus.mojo.archetypes
ArtifactId:
netbeans-platform-app-archetype
nbm-archetype
Command-line Ant
Download the NetBeans Platform ZIP file, which includes
a build harness. The build harness includes a long list of
Ant targets for compiling, running, testing, and packaging
NetBeans Platform applications.
Other IDEs
Use command-line Maven to set up a Maven-based NetBeans
Platform application and then open the POM file into any IDE
that supports Maven, e.g., IntelliJ IDEA or Eclipse.
Hot
Tip
Join the NetBeans Platform mailing list
dev@platform.netbeans.org, where you can discuss
problems and share ideas with other developers using the
NetBeans Platform as the basis of their software!
MAIN FEATURES
The following are the main features of the NetBeans Platform,
showing you the benefits of using it rather than your homegrown
Swing framework.
Tool How to Get Started
Module System
Modularity offers a solution to "JAR hell" by letting you organize code
into strictly separated and versioned modules. Only modules that have
explicitly declared dependencies on each other are able to use code
from each other's publicly 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 phases of their shared codebase.
Lifecycle
Management
Just as application servers such as GlassFish provide lifecycle services
to web applications, the NetBeans runtime container provide lifecycle
services 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.
Pluggability
End users of the application benefit from pluggable applications
because these enable them to install modules into their running
applications. NetBeans modules can be installed, uninstalled,
activated, and deactivated at runtime, thanks to the runtime container.
Service
Infrastructure
The NetBeans Platform provides an infrastructure for registering and
retrieving service implementations, enabling you to minimize direct
dependencies between individual modules and enabling a loosely
coupled architecture (high cohesion and low coupling).
File System
Unified API providing stream-oriented access to flat and hierarchical
structures, such as disk-based files on local or remote servers,
memory-based files, and even XML documents.
Window System
Most serious applications need more than one window. Coding
good interaction between multiple windows is not a trivial task. The
NetBeans window system lets you maximize/minimize, dock/undock,
and drag-and-drop windows, without you providing any code at all.
Standardized UI
Toolkit
Swing is the standard UI toolkit and is the basis of all NetBeans
Platform applications. Related benefits include the ability to change
the look and feel easily, the portability of Swing across all operating
systems, and the easy incorporation of many free and commercial
third-party Swing components.
Generic
Presentation
Layer
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 components for displaying nodes.
Advanced Swing
Components
In addition to a window system, the NetBeans Platform provides
many other UI-related components, such as a property sheet, a
palette, complex Swing components for presenting data, a Plugin
Manager, and an Output window.
JavaHelp
Integration
The JavaHelp API is an integral part of the NetBeans Platform. You
can create help sets in each of your modules, and the NetBeans
Platform will automatically resolve them into a single helpset. You
can also bind help topics to UI components to create a context-
sensitive help system for your application.