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 ● dev@openide.netbeans.org ● users@edu.netbeans.org ● 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
Recommend
More recommend