Download pdf - NetBeans Platform 6 - GBV

Transcript
Page 1: NetBeans Platform 6 - GBV

Heiko Bock

NetBeans Platform 6

Rich-Client-Entwicklung mit Java

Galileo Press

Page 2: NetBeans Platform 6 - GBV

Inhalt

Geleitwort 13

Vorwort 15

1.1 Was ist ein Rich-Client? 19

1.2 Was ist eine Rich-Client-Plattform? 20

1.3 Vorteile einer Rich-Client-Plattform 21

1.4 Eigenschaften der NetBeans Platform 22

2.1 NetBeans Platform Architektur 25

2.2 NetBeans Platform Distribution 28

2.3 NetBeans Runtime Container 30

2.4 NetBeans Classloader System 32

2.4.1 Module Classloader 33

2.4.2 System Classloader 33

2.4.3 Original Classloader 34

3.1 Überblick 35

3.2 Struktur eines Moduls 36

3.3 Module konfigurieren und integrieren 37

3.3.1 Konfiguration 37

3.3.2 Manifest 38

3.3.3 Layer 44

3.4 Module erstellen 50

3.5 Versionen und Abhängigkeiten 54

3.5.1 Versionierung 54

3.5.2 Definition von Abhängigkeiten 56

3.6 Lebenszyklus 59

3.7 Module Registry 62

3.8 Bibliotheken verwenden 63

3.8.1 Library Wrapper Module 64

3.8.2 Bibliothek einem Modul hinzufügen 66

5

Page 3: NetBeans Platform 6 - GBV

Inhalt

4.1 Überblick 69

4.2 Aktionsklassenerstel len 70

4.2.1 CallableSystemAction 70

4.2.2 CallbackSystemAction 73

4.2.3 CookieAction 76

4.2.4 Allgemeine kontextabhängige Aktionsklasse 80

4.3 Akt ionen registrieren 83

4.4 Shortcuts und Mnemonics 84

5.1 Überblick 87

5.2 Menubar 88

5.2.1 Funktionsweise 88

5.2.2 Menü und Menüeintrag erstellen und hinzufügen 88

5.2.3 Separator einfügen 90

5.2.4 Vorhandene Menüeinträge ausblenden 91

5.2.5 Eigene Menubar erstellen 92

5.3 Toolbar 92

5.3.1 Toolbars erstellen 92

5.3.2 Toolbar-Konfigurat ionen 93

5.3.3 Anpassung durch den Benutzer 95

5.3.4 Eigene Toolbars erstellen 95

5.3.5 Eigene Steuerelemente verwenden 96

5.4 W indow System 97

5.4.1 Einführung 97

5.4.2 Konfiguration 98

5.4.3 Fens te r -Top Component 100

5.4.4 Docking C o n t a i n e r - M o d e 109

5.4.5 Gruppieren von Fens te rn -Top Component Group 113

5.4.6 V e r w a l t u n g - W i n d o w Manager 116

5.5 Statusbar 117

5.5.1 Statusbar verwenden 117

5.5.2 Statusbar erweitern 118

5.6 Progressbar 119

5.6.1 Fortschritt einzelner Aufgaben anzeigen 119

5.6.2 Fortschritt von mehreren zusammengehörenden

Aufgaben anzeigen 122

5.6.3 Progressbar in eigene Komponente integrieren 125

6

Page 4: NetBeans Platform 6 - GBV

Inhalt

6.1 Funktionsweise 127

6.2 Services und Extension Points 128

6.2.1 Schnittstelle des Services definieren 129

6.2.2 Lose Bereitstellung eines Services 129

6.2.3 Verschiedene Service Provider bereitstellen 131

6.2.4 Verfügbarkeit des Services sicherstellen 132

6.3 Globale Services 132

6.4 Service Provider registrieren 135

6.4.1 Service-Provider-Configuration-Datei 135

6.4.2 Services Folder 137

6.5 Intermodulkommunikat ion 138

6.6 Java Service Loader 146

7.1 Überblick 149

7.2 File Systems API 150

7.2.1 Überblick 150

7.2.2 Operationen 151

7.3 Data Systems API 155

7.3.1 Überblick 155

7.3.2 DataObjec t 157

7.3.3 Data Loader 164

7.4 Nodes API 168

7.4.1 Node-Container 170

7.4.2 N o d e - u n d Children-Klassen implementieren 173

7.5 Explorer API 178

8.1 Dialoge 183

8.1.1 Standarddialoge 183

8.1.2 Eigene Dialoge 187

8.1.3 Wizards 189

8.2 Mu l t i Views 204

8.3 Visual Library 209

8.3.1 Aufbau der Visual Library API 209

8.3.2 Die Widget-Klassen 210

8.3.3 Ereignisse und Akt ionen 215

7

Page 5: NetBeans Platform 6 - GBV

Inhalt

8.3.4 Die Scene - das Wurzelelement 221

8.3.5 ObjectScene-Model-View Relation 224

8.3.6 Graphen 226

8.3.7 VMD - Visual Mobile Designer 230

9.1 Hilfesystem 233

9.1.1 Erstellen und Hinzufügen eines Helpsets 233

9.1.2 Links in Hilfeseiten einfügen 236

9.1.3 Kontextsensitive Hilfe 238

9.1.4 Öffnen des Hilfesystems 240

9.2 Output Window 240

9.3 Navigator 243 9.4 Properties 248

9.4.1 Eigenschaften bereitstellen 249

9.4.2 Benutzerdefinierter Eigenschaftseditor 252

9.5 Optionen und Einstellungen 254

9.5.1 Optionspanel erstellen und bedienen 254

9.5.2 Einstellungen verwalten 260

9.6 Palette 262 9.6.1 Palette-Einträge über die Layer-Datei definieren

und hinzufügen 263

9.6.2 Eine Palette mit eigenen Nodes aufbauen 265

10.1 Textkonstanten in Quelltexten 273

10.2 Textkonstanten in der Manifest-Datei 275

10.3 Internationalisierung von Hilfeseiten 276

10.4 Andere Ressourcen internationalisieren 278

10.4.1 Grafiken 278

10.4.2 Beliebige Dateien 278

10.4.3 Verzeichnisse und Dateien 278

10.5 Verwaltung und Bereitstellung von lokalisierten Ressourcen 279

11.1 Anwendung erstellen 283

11.2 Konfiguration und Anpassung 285

11.2.1 Anpassung von Plattform-Modulen 285

Page 6: NetBeans Platform 6 - GBV

Inhalt

11.2.2 Launcher anpassen 286

11.3 Distr ibut ion erstellen 287

11.3.1 Auslieferung als ZIP-Distr ibut ion 287

11.3.2 Distr ibution für Java Web Start 288

11.3.3 Mac OS X-Appl ikat ion 288

12.1 Der Auto-Update-Service 289

12.2 Das NBM-Paket 290

12.3 Update-Center 294

12.4 Bereitstellung eines Sprachpakets 295

12.5 Konfiguration und Installation auf der Client-Seite 296

12.5.1 Neues Update-Center 298

12.5.2 Automatische Installation von Updates 299

13.1 Java DB 301

13.1.1 Einbinden der Java DB 301

13.1.2 Treiber registrieren 302

13.1.3 Erstellen und verwenden einer Datenbank 302

13.1.4 Datenbank herunterfahren 304

13.1.5 Datenbank entwickeln mithi l fe der NetBeans IDE 305

13.1.6 Beispielanwendung 308

13.2 Hibernate 321

13.2.1 Einbinden der Hibernate-Bibl iotheken 322

13.2.2 Struktur der Beispielanwendung 324

13.2.3 Hibernate konfigurieren 325

13.2.4 Objekte auf Relationen abbilden 326

13.2.5 SessionFactory und Sessions 329

13.2.6 Objekte speichern und laden 330

13.3 Java Persistence API 332

13.3.1 Hibernate und die Java Persistence API 333

13.3.2 Java Persistence-Konfiguration 334

13.3.3 Entitätsklassen 335

13.3.4 EntityManagerFactory und EntityManager 337

13.3.5 Objekte speichern und laden 339

9

Page 7: NetBeans Platform 6 - GBV

Inhalt

14.1 Web Service Client erstellen 341 14.2 Web Service verwenden 343

15.1 Palette 349 15.1.1 Palette-Einträge definieren und registrieren 350

15.1.2 PaletteController erstellen und registrieren 352

15.1.3 Bestehende Palette erweitern 354

15.2 Task List API 354

16.1 NetBeans IDE 361

16.1.1 Wo finde ich was? 361

16.1.2 Bedienung 362

16.2 Vom Eclipse-Plugin zum NetBeans-Modul 362

16.2.1 Terminologie und Wizards 362

16.2.2 Plugin-Lebenszyklus und seine Ereignisse 363

16.2.3 Plugin-Informationen 365

16.2.4 Images 366 16.2.5 Ressourcen 366

16.2.6 Einstellungen 367

16.2.7 Anwendungs-Lebenszyklus 368

16.2.8 Views und Editors 369

17.1 Asynchrones Initialisieren von grafischen Komponenten 371

17.2 Undo/Redo 374

17.3 Beenden der Anwendung/Lebenszyklus der Anwendung 377

17.4 Warm-Up Tasks 378

17.5 System Tray 379

17.6 Desktop 380

17.7 Logging 381

17.7.1 Logger 381

17.7.2 LogManager 382

17.7.3 Konfiguration 382

17.7.4 Fehlermeldungen 384

10

Page 8: NetBeans Platform 6 - GBV

Inhalt

18.1 Entwurf 385

18.2 Module Suite erstellen 388

18.3 MP3-Unterstützung 389

18.3.1 JMF-Modul erstellen 389

18.3.2 MP3-Plugin registrieren 389

18.3.3 MP3 File Type 390 18.4 ID3-Support 393

18.4.1 ID3API 394

18.4.2 ID3-Editor 396

18.5 Media Library 399

18.6 Services 401

18.7 MP3-Player 401

18.7.1 Service Interface 401

18.7.2 Service Provider 405

18.7.3 Wiedergabe von MP3-Dateien 409

18.7.4 Benutzeroberfläche 410

18.8 Playlist 414

18.8.1 Node View 414

18.8.2 Node Container 415

18.8.3 Top Component 416

18.8.4 Drag & Drop 422

18.8.5 Speichern der Playlist 424

A.1 Die wichtigsten Platform Extension Points 429

A.2 Die DTDs der wichtigsten Konfigurationsdateien 430

A.2.1 Mode-Definition 430

A.2.2 Zuordnung von Top Component zu Mode 433

A.2.3 Top Component-Gruppendefinition 434

A.2.4 Zuordnung von Top Component zu Gruppe 435

A.2.5 Toolbar-Definition und -Konfiguration 435

A.2.6 Palette Item-Definition 436

Index 437

11