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

Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

  • Upload
    vanminh

  • View
    233

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

Getting Startedwiththe

NetBeans Platform

Geertjan Wielengahttp://blogs.sun.com/geertjan

Page 2: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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

Page 3: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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

Page 4: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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

Page 5: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

5

NetBeans Platform

Page 6: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

6

Nuance Voice-XML

Page 7: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

7

Fiorano Studio

Page 8: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

8

Nokia: Mobile Network

Page 9: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

9

Sketsa SVG Editor

Page 10: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

10

VisualVM

Page 11: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

11

AIOTrade

Page 12: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

12

NetBeans IDE

Page 13: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

13

JCae-CAD

Page 14: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

14

MC4J JMX Console

Page 15: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

15

JFugue Music Notepad

Page 16: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

16

StudioSL: Oil Flow

Page 17: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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

Page 18: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

18

Maybe this is your code:

Page 19: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

19

Maybe this is you:

Page 20: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

20

This should be you...

domain expertknowledge

Page 21: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

21

Application “Plumbing”

● Windowing/docking system

● Archictecture

● Lifecycle management

● Persistence

● Data management

● Consistent look & feel

● Distribution/update mechanism

Page 22: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

22

Demo

Page 23: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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

Page 24: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

24

Javadoc

Page 25: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

25

Libraries

● Window System API

● Actions API

● Options Window API

● Many Editor APIs

● Visual Library API

● ...and many more

Page 26: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

26

Ways to get started

● Javadoc

● Tutorials

● Samples

● Blog entries

Tip: Use them outside the NetBeans Platform

Page 27: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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

Page 28: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

28

In addition to...

● JLabel

● JTextField

● JTextArea

● JTable

● ...etc...

Page 29: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

29

TreeTableView

Page 30: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

30

Visual Widgets

Page 31: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

31

More Visual Widgets

Page 32: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

32

More Visual Widgets

Page 33: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

33

Drop Down Button Factory

Page 34: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

34

Tabbed Pane Factory

Page 35: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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

Page 36: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

36

Project wizards

Page 37: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

37

NetBeans Platform

Page 38: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

38

Outline view

Page 39: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

39

Project wizards

Page 40: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

40

File wizards

Page 41: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

41

File wizards

● Actions API

● Datasystems API

● Module Install class

● Options Dialog API

● TopComponent class

● Wizard Descriptor class

Page 42: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

42

Configuration

Page 43: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

43

Editor

Page 44: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

44

While developing...

...enhance the IDE

Page 45: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

45

Dependencies

Page 46: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

46

Dependencies

Page 47: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

47

Contextual menus

Page 48: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

48

Contextual menus

Page 49: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

49

Samples

Page 50: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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

Page 51: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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.

Page 52: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

52

Demo

Page 53: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

53

Porting Guide

http://platform.netbeans.org/tutorials/60/nbm-porting-basic.html

Page 54: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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

Page 55: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

55

Resources

http://www.netbeans.org/kb/articles/books.html

Page 56: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

56

Page 57: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

57

Page 58: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

58

Page 59: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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/

Page 60: Getting Started with the NetBeans Platform · Getting Started with the NetBeans Platform ... Maybe this is your code: 19 Maybe this is you: 20 ... Demo Outline 1

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