By Geertjan on Nov 13, 2008
Here it is:
- Presentation: Introduction to the NetBeans Platform. At the end of this presentation, a demo was done of the Anagram Game being ported to the NetBeans Platform. For details, see the NetBeans Platform Porting Tutorial.
- Presentation: Dependency Injection & Modular Systems. During this presentation, a first module was created, and the students were shown how dependency management and versioning is handled for a module. At the end, an application with three modules was created—one module contained a service exposed via an interface, the next module was the service provider via the META-INF/services folder, and the third module was an Installer class that printed out the Strings provided by the service providers. For details, see this tutorial: NetBeans Selection Management Tutorial I—Using a TopComponent's Lookup.
- Presentation: System Filesystem. During this presentation, demos were done that showed how to create a layer.xml file and how to populate it—via the module project wizard and the file-level wizards. Also, the explorer view on top of the layer.xml file was shown, i.e., the "this layer" and "this layer in context" nodes were explored and discussed. See all the NetBeans Platform tutorials for details.
- Presentation: Nodes & Explorer Views. At the start of this presentation, a standalone Java application was created, with about 5 NetBeans Platform JARs on its classpath, which enabled a Node to be created, and displayed in multiple different views. See here for the code. Then the application was ported to the NetBeans Platform. Also, the students were shown how to create a System Filesystem browser (as described on page 204 of 'Rich Client Programming: Plugging into the NetBeans Platform'). Finally, the System Filesystem browser was uploaded to the Plugin Portal (here), at which point the topic of 'autoupdate descriptors' was also discussed, together with different techniques for distributing modules.
- Presentation: Data Objects & Editors. Here it was shown how to create and register basic editor support for a new file type, via the File Type wizard. A new action was added to the node in the explorer view. The 'Schliemann' declarative editor support was also introduced, starting with the Language Support template.
- Presentation: Window System. A new TopComponent was created and added to a new application's window system, via the layer.xml file. The persistence of the TopComponent was extended, so that not only the size and position of the window was stored across restarts, but also the content of one of its text fields, exactly as described in Playing with Persistence Across Sessions. In addition, the creation of a new mode was also discussed, and demoed, to some extent.
- Presentation: Productivity Tools. During this presentation, on different ways in which the NetBeans Java editor can be extended, small demos were done of the following features (click the links that follow to get to the source code)—code completion, code generator, mark occurrences, quick search, project template, file template, and editor hints.
Is the above description detailed enough? If there was someone on the course who'd like more details, feel free to leave a comment here.