NetBeans Platform Certified Training Course
Course Summary
The NetBeans Platform is a mature open sourced Swing framework for building general rich client applications. The platform is a "generic application", that is, a runtime which can be used to develop desktop applications. NetBeans IDE is one example of this type of application, but there are many others.
One of the key distinctions of software built upon the NetBeans Platform is modularity: reuse in the large. Such software is designed as logical sets of macro-components which integrate through well-defined API contracts. Writing modular applications brings some enhancements to programming in standard Java, particularly in the ability to have Java classes which are only public to other classes within the archive they reside in. This has a number of beneficial effects on development: in particular, the ability to develop cleaner, simpler APIs by being able to fully conceal implementation from foreign code, while retaining type-safety.
Delivered by Eppleton, a certified NetBeans Platform consultancy in Munich, Germany, the NetBeans Platform Certified Training shows you how to develop desktop applications on the NetBeans Platform from the ground up. On the first day, we start with modularity: why does it make sense to create modular applications? How and why do we isolate modules and how do isolated modules communicate with each other? On the second day, we dive into the Swing components provided by the NetBeans Platform, picking up from the window system discussed at the end of the first day, continuining with nodes, explorer views, and the widgets provided by the visual library. On the third day, we learn how to provide menu items and toolbar buttons and then we tour through the most important remaining APIs. We wrap up by discussing how modular applications are distributed and how to distribute plugins in the middle of release cycles, either as new features or patches.
[top] Duration
3 days.
[top] Objectives
By participating in this course you will:
- Be introduced to the problem domain of the NetBeans Platform
- Become familiar with all the main NetBeans APIs
- Get hands on experience developing applications on the NetBeans Platform
[top] Audience
This course is for Java Swing developers who want to leverage the power and simplicity of the NetBeans Platform and create rich client applications.
[top] Prerequisites
You must be comfortable with the core concepts of Java, as well as Swing. Since the NetBeans Platform is made for large and complex applications, and is strongly focused on questions of architecture, the participants in the course are expected to be comfortable with non-trivial applications.
Although this is not essential, we recommend that you familiarize yourself with one or more of the following books in advance:
[top] Instructors
[top] Outline
Day 1
-
Getting Started with the NetBeans Platform
Without assuming any knowledge of the NetBeans Platform at all, we start by introducing you to the most basic concepts: why does the NetBeans Platform exist? What does it do? Who is it for? We introduce you to several of the existing applications on the NetBeans Platform and give you a high-level introduction to the main features of the NetBeans Platform. At the end of the session, you are shown how to port a simple application to the NetBeans Platform... in 5 minutes. The session wraps up with an overview of all the resources that are available to help you become proficient with the NetBeans Platform. -
Module System
The central benefit of the NetBeans Platform is that it is modular. The benefits of modularity are discussed and shown in detail during this session. The concept of modularity is explained in some detail, with the NetBeans module system and OSGi both being introduced. Lifecycle management services, module installers, and bundle activators will also be covered. A central concept in the NetBeans Platform is its loose coupled modules, which is achieved via the Lookup API and the FileSystem API, both of which are introduced during this session. At the end of the session, you are shown how to use these two APIs in some live demos. -
Window System
The NetBeans docking framework, that is, the window system, enables you to show complex data in many different windows at the same time. Quickly, you will leave the JFrame behind and start using TopComponents instead. The Matisse GUI Builder will be introduced and you will create JPanels that can be displayed within TopComponents in the window system. Data persistence, TopComponent groups, and Modes are also covered. The session finishes with a porting procedure showing how to move a standard Java SE application to the NetBeans Platform via moving JFrames to TopComponents. -
Workshop
The workshop will let you work on your own, with a detailed step-by-step exercise, followed by some tasks that you will need to complete on your own. The topics covered in the workshop will cover everything that you have learned in the earlier sessions.
Day 2
-
Nodes
A key advantage of the NetBeans Platform is that it lets you very quickly and powerfully work with business objects. The Nodes API wraps business objects, letting you provide features such as a display name, icon, actions, and properties. These will be covered in detail, as well as how the Lookup API applies in this context. At the end of the session, you will be shown how to create Nodes, via NetBeans API factory classes. -
Explorer Views
The explorer views are NetBeans API Swing components for displaying Nodes. In this session, you will be introduced to the most important explorer views and you will be shown how these are used to display Nodes. You will also be shown how to use the Nodes and explorer views outside the NetBeans Platform, in a standard Java SE application. At the end of the session, you will be comfortable with NetBeans API explorer views and you will know how they can be used to display your business objects via the Nodes introduced in the previous session. -
Visual Library
A central part of the NetBeans Platform is its widget library. Extracted from the NetBeans IDE's mobile designer, you can use this API in any application to visualize data in interesting ways via widgets that have a large set of predefined features. After being introduced to the widget library, you will be guided through a simple scenario that will teach you how to use widgets in your own applications. -
Workshop
In the workshop, you create a small customer application, starting with a business object. You will do an exercise on your own, during which you will use the APIs introduced above. At the end of the day, you will do some additional tasks, that will prove to you that you understand the various concepts, in extending the application with a number of additional features typical to customer applications.
Day 3
-
Actions (Menus, Toolbars, Keyboard Shortcuts)
The NetBeans Platform provides a centralized registry for Action classes. You will be shown how to port the AbstractActions and ActionListeners common in standard Java Swing application to the NetBeans Platform. After being shown how to register your Actions, you will be introduced to the various different ways in which they can be invoked, from menu items, toolbar buttons, and keyboard shortcuts. The topic of context-sensitive Actions will be a special focus of this session. -
Miscellaneous (Dialogs, Options, etc)
In this session, the most important of the many other NetBeans APIs will be highlighted. In particular, you will be introduced to the NetBeans Platform set of standard dialogs, as well as the NetBeans Wizard framework. Next, you will be shown how each module can provide its own Options panels that are centrally registered. Other miscellaneous features typical to large desktop applications, such as JavaHelp and progress bars, will also be covered in this session. -
Distribution
A very important topic, this session covers how to make your application, and its plugins, available to end users. Not only ZIP distribution and installers, but also Java Web Start, will be covered. You will learn how to create an on-line repository for your modules and how the user is able to register that repository and install the modules it contains. The topic of silent updates of NetBeans Platform applications will also be touched upon. -
Workshop
In the workshop, you will take the application you created at the end of the second day and enhance it with Actions, Options panels, JavaHelp, and the other features covered during the sessions covered above. You will also be given some additional tasks to ensure you have grasped the principles covered throughout the training.
[top] Additional Notes
The course is based on the latest release of the NetBeans Platform, using the latest release of NetBeans IDE as the development tool. Currently, the NetBeans Platform 6.9 and NetBeans IDE 6.9 are the latest releases. Though you can use any IDE to create applications on the NetBeans Platform, students that plan on using their own laptops should have NetBeans IDE 6.9 installed, which automatically includes NetBeans Platform 6.9.
[top] Student Testimonials
Thank you for this invaluable opportunity to learn from the world's experts on the NetBeans Rich Client Platform. For anyone intending to work in this area I would highly recommend spending some time with the various books and tutorials and then attend this course. It will help cement your understanding and acquaint you to many valuable resources.
The information regarding Lookups, layer.xml, and System FileSystem were most helpful. Finally, the obtuse parts of the NetBeans Platform make sense to me now!



