60
Getting Started with the NetBeans Platform Geertjan Wielenga http://blogs.sun.com/geertjan

Getting Started with the NetBeans Platformedu.netbeans.org/contrib/slides/netbeans-platform/getting-started.pdf · 3 Meet the NetBeans Platform Understand its problem domain Get an

Embed Size (px)

Citation preview

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