2. Agenda. ○ Goals. 1. Generic Desktop Framework. 2. Infrastructural Plumbing.
3. Collection of Libraries. 4. Swing Extensions. 5. NetBeans Platform Toolkit.
Getting Started with the NetBeans Platform Geertjan Wielenga http://blogs.sun.com/geertjan
Agenda ●
Goals 1. Generic Desktop Framework 2. Infrastructural Plumbing 3. Collection of Libraries 4. Swing Extensions 5. NetBeans Platform Toolkit
●
Demo: Porting to NetBeans Platform
●
Resources 2
Goals ● Meet the NetBeans Platform ● Understand its problem domain ● Get an overview of the main APIs ● See a demo ● Learn what to do next
3
Agenda ●
Goals 1. Generic Desktop Framework 2. Infrastructural Plumbing 3. Collection of Libraries 4. Swing Extensions 5. NetBeans Platform Toolkit
●
Demo: Porting to NetBeans Platform
●
Resources 4
NetBeans Platform
5
Nuance Voice-XML
6
Fiorano Studio
7
Nokia: Mobile Network
8
Sketsa SVG Editor
9
VisualVM
10
AIOTrade
11
NetBeans IDE
12
JCae-CAD
13
MC4J JMX Console
14
JFugue Music Notepad
15
StudioSL: Oil Flow
16
Agenda ●
Goals 1. Generic Desktop Framework 2. Infrastructural Plumbing 3. Collection of Libraries 4. Swing Extensions 5. NetBeans Platform Toolkit
●
Demo: Porting to NetBeans Platform
●
Resources 17
Maybe this is your code:
18
Maybe this is you:
19
This should be you...
domain expert knowledge 20
Application “Plumbing” ● Windowing/docking system ● Archictecture ● Lifecycle management ● Persistence ● Data management ● Consistent look & feel ● Distribution/update mechanism 21
Demo
22
Agenda ●
Goals 1. Generic Desktop Framework 2. Infrastructural Plumbing 3. Collection of Libraries 4. Swing Extensions 5. NetBeans Platform Toolkit
●
Demo: Porting to NetBeans Platform
●
Resources 23
Javadoc
24
Libraries ● Window System API ● Actions API ● Options Window API ● Many Editor APIs ● Visual Library API ● ...and many more
25
Ways to get started ● Javadoc ● Tutorials ● Samples ● Blog entries Tip: Use them outside the NetBeans Platform 26
Agenda ●
Goals 1. Generic Desktop Framework 2. Infrastructural Plumbing 3. Collection of Libraries 4. Swing Extensions 5. NetBeans Platform Toolkit
●
Demo: Porting to NetBeans Platform
●
Resources 27
In addition to... ● JLabel ● JTextField ● JTextArea ● JTable ● ...etc...
28
TreeTableView
29
Visual Widgets
30
More Visual Widgets
31
More Visual Widgets
32
Drop Down Button Factory
33
Tabbed Pane Factory
34
Agenda ●
Goals 1. Generic Desktop Framework 2. Infrastructural Plumbing 3. Collection of Libraries 4. Swing Extensions 5. NetBeans Platform Toolkit
●
Demo: Porting to NetBeans Platform
●
Resources 35
Project wizards
36
NetBeans Platform
37
Outline view
38
Project wizards
39
File wizards
40
File wizards ● Actions API ● Datasystems API ● Module Install class ● Options Dialog API ● TopComponent class ● Wizard Descriptor class
41
Configuration
42
Editor
43
While developing...
...enhance the IDE 44
Dependencies
45
Dependencies
46
Contextual menus
47
Contextual menus
48
Samples
49
Agenda ●
Goals 1. Generic Desktop Framework 2. Infrastructural Plumbing 3. Collection of Libraries 4. Swing Extensions 5. NetBeans Platform Toolkit
●
●
Demo: Porting to the NetBeans Platform Resources 50
Demo Outline 1. Start with a simple application. 2. Compare what it is to what the NetBeans Platform has. 3. Create a new plugin project. 4. Move the useful parts of our old application to our new plugin. 5. Run it. 51
Demo
52
Porting Guide
http://platform.netbeans.org/tutorials/60/ nbm-porting-basic.html 53
Agenda ●
Goals 1. Generic Desktop Framework 2. Infrastructural Plumbing 3. Collection of Libraries 4. Swing Extensions 5. NetBeans Platform Toolkit
●
Demo: Porting to the NetBeans Platform
●
Resources 54
Resources
http://www.netbeans.org/kb/articles/books.html 55
56
57
58
References ●
[email protected]
●
[email protected]
●
● ●
http://bits.netbeans.org/dev/ javadoc/index.html http://platform.netbeans.org http://wiki.netbeans.org/ NetBeansDeveloperFAQ
●
http://blogs.sun.com/geertjan
●
http://plugins.netbeans.org/PluginPortal/ 59
Summary ● Many on the NetBeans Platform ● NetBeans Platform gives plumbing ● Many APIs and libraries to help you ● NetBeans IDE provides tools ● Getting started is easy ● Mail list, tutorials, and training course
60