Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe...
Transcript of Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe...
Getting Startedwiththe
NetBeans Platform
Geertjan Wielengahttp://blogs.sun.com/geertjan
2
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
3
● Meet the NetBeans Platform
● Understand its problem domain
● Get an overview of the main APIs
● See a demo
● Learn what to do next
Goals
4
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
5
NetBeans Platform
6
Nuance Voice-XML
7
Fiorano Studio
8
Nokia: Mobile Network
9
Sketsa SVG Editor
10
VisualVM
11
AIOTrade
12
NetBeans IDE
13
JCae-CAD
14
MC4J JMX Console
15
JFugue Music Notepad
16
StudioSL: Oil Flow
17
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
18
Maybe this is your code:
19
Maybe this is you:
20
This should be you...
domain expertknowledge
21
Application “Plumbing”
● Windowing/docking system
● Archictecture
● Lifecycle management
● Persistence
● Data management
● Consistent look & feel
● Distribution/update mechanism
22
Demo
23
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
24
Javadoc
25
Libraries
● Window System API
● Actions API
● Options Window API
● Many Editor APIs
● Visual Library API
● ...and many more
26
Ways to get started
● Javadoc
● Tutorials
● Samples
● Blog entries
Tip: Use them outside the NetBeans Platform
27
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
28
In addition to...
● JLabel
● JTextField
● JTextArea
● JTable
● ...etc...
29
TreeTableView
30
Visual Widgets
31
More Visual Widgets
32
More Visual Widgets
33
Drop Down Button Factory
34
Tabbed Pane Factory
35
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
36
Project wizards
37
NetBeans Platform
38
Outline view
39
Project wizards
40
File wizards
41
File wizards
● Actions API
● Datasystems API
● Module Install class
● Options Dialog API
● TopComponent class
● Wizard Descriptor class
42
Configuration
43
Editor
44
While developing...
...enhance the IDE
45
Dependencies
46
Dependencies
47
Contextual menus
48
Contextual menus
49
Samples
50
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
51
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.
52
Demo
53
Porting Guide
http://platform.netbeans.org/tutorials/60/nbm-porting-basic.html
54
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
55
Resources
http://www.netbeans.org/kb/articles/books.html
56
57
58
59
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/
60
● 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
Summary