Welcome to the Free Online NetBeans Platform Course

The free online NetBeans Platform course is primarily for developers who are new to the NetBeans Platform. However, even experienced NetBeans Platform developers stand to gain a deeper understanding of the NetBeans Platform by taking this course. Over a period of several weeks, you will be guided through the creation of an advanced NetBeans plugin that will integrate basic support for a new language. You will also write a project type for creating projects specific to that language. Even if you are not planning to do those exact things in your own projects, the course will familiarize you with a lot of NetBeans concepts that will be useful in writing any plugin or any application on top of the NetBeans Platform.


Content on this page applies to NetBeans IDE 6.0

Note: In addition to this free online NetBeans Platform course, the NetBeans team offers the "NetBeans Certified Training". The NetBeans Certified Training is delivered live, on site, at your location. It is different in nature to this course, covering all the core NetBeans Platform concepts (such as "Lookup" and "System Filesystem") in separate sessions over a two day period, with a certification process at the end of it. For further information, please write to netbeans-feedback@sun.com.

Course Guidelines

The general principles of participating in this course are outlined below:

  • Required knowledge. You are assumed to be familiar with Java and Swing. For example, you will not be told what a "thread" is. You will also not be told what the "event dispatching thread" is. In general, if you have not developed Java applications before, and if you are not comfortable developing Swing applications, then this course is probably not for you.
  • Timetable. Each Monday a new lesson will be published. Currently the course consists of 10 lessons, though two or three more may be added at relevant points during the course. You should therefore expect to be engaged in this course for three months.
  • Outline of lessons. Each lesson will begin with an overview, then provide some required reading, and then continue with the course material. Finally, a short preview of the following week's lesson will be provided.

    • Week 1—File Support
    • Week 2—Project Type Design
    • Week 3—Implementing a Project Type
    • Week 4—Providing Project Templates
    • Week 5—Creating an API
    • Week 6—Implementing the API
    • Week 7—Support For Running POV-Ray from NetBeans
    • Week 8—Implementing ViewService and its Actions
    • Week 9—Build Support
    • Week 10—Finishing Touches

    You will not learn ALL the NetBeans APIs during this course. (There are far too many to encapsulate within a single scenario!) We intend to produce other courses once this one is complete, depending on the results and feedback this one will receive. Future courses might focus on areas that are outside the scope of this particular course, such as the Visual Library API.

  • Required commitment. The idea is to allocate at least one hour per day for one whole week to the current lesson.
  • Pace. Do not try to complete the lessons as quickly as possible and do not skip the required reading. The point is not simply to complete the lessons. The point is to attain, in addition to a broad understanding of the NetBeans Platform, a thorough overview of all the related documentation and guidelines that are available. Though the required readings will not always relate directly to the lesson, by the end of the course you will have built up a lot of knowledge about where to go when you encounter problems during your coding. For example, you will also be introduced to a lot of related Javadoc and learn about some interesting blogs that you might want to consult, by members of the broader NetBeans community.
  • Mailing List. When you have questions, please write to the new mailing list that is dedicated to this course:


    You will be able to share experiences, learn from each other, and get assistance where appropriate from NetBeans engineers that have been assigned to helping you when necessary. Joining the mailing list is as simple as sending an empty e-mail to the list.

    If you intend to do the course, you are expected to join the mailing list. Not only discussions, but also course-related announcements, will only be made via the mailing list above, nowhere else. As a general guideline—when you run into problems, do not immediately write to the mailing list. Spend some time trying to solve the problem on your own and then, only as a last resort, write to the mailing list.

  • Start Date. To be announced.
  • About the plugin. At the end of the course, you will have built support for POV-Ray—the Persistence Of Vision Raytracer. POV-Ray is an open-source 3D rendering engine—one that only a programmer could love. Rather than having a graphical modelling tool, it is based around a scene language which is "compiled" into an image.

    We will walk through creating several modules. One implements support for POV-Ray Scene Files. Another provides a POV-Ray project type, and allows scene files to be rendered into image files. We will also create a module that will provide POV-Ray samples for our users:

    Right at the end, you will be able to open POV-Ray files and render them in the IDE:

Installing the Software

Before you begin, you need to install the following software on your computer:

Implementation Notes

Many of the instructions will tell you to add some code and then run Fix Imports (Ctrl-Shift-I) to generate import statements. In a few cases, the classes used will be NetBeans classes which have the same name as classes in the JDK. In all of these cases you want the NetBeans class, not the JDK class. Watch for the following:

  • FileObject is always org.openide.filesystems.FileObject
  • Node is always org.openide.nodes.Node
  • Utilities is always org.openide.util.Utilities
  • Begin the Course!

    Once the course begins, you will be able to click here to commence the first lesson...

    Draft proposal

    Project Features

    Project Links

    About this Project

    edu was started in November 2009, is owned by Antonin Nebuzelsky, and has 94 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