Getting Started with the NetBeans Platform

20 downloads 110616 Views 2MB Size Report
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