Inhaltsverzeichnis Stichwortverzeichnis Autor
© ABC Advanced Book Catalog

Inhaltsverzeichnis

Einführung1
Was ist Eclipse?1
Das Eclipse-Umfeld.3
Über dieses Buch.3
Wie dieses Buch organisiert ist.4
Danksagung.6
Teil IDas Java-IDE7
1Wo ist was?9
1.1Eclipse installieren.9
1.2Die erste Applikation: Hello World.14
1.3Die wichtigsten Präferenzen für die Java-Entwicklung.18
1.3.1Workbench-Einstellungen.19
1.3.2Installierte JREs.20
1.3.3Compiler-Einstellungen.22
1.3.4Codeformatierung.23
1.3.5Templates.25
1.4Tasks und Probleme.27
1.4.1Probleme, Probleme.27
1.4.2Die Aufgabenliste.29
1.4.3Lesezeichen.31
1.5Das Scrapbook.31
2Effizient programmieren mit Eclipse35
2.1Kleine Helfer.35
2.1.1Systeminformationen.35
2.1.2Help und Hover-Info.36
2.1.3Java-Informationsfenster.38
2.1.4Automatische Codevervollständigung.38
2.1.5Der Korrektur-Assistent.44
2.1.6QuickAssist.45
2.1.7Komfortfunktionen des Java-Editors.46
2.2Sich im Code zurechtfinden.48
2.3Programme neu strukturieren.49
2.3.1Änderungen an Typen.50
2.3.2Den Code restrukturieren.51
2.4Undo und Redo.55
2.5Local History.56
2.5.1Ressourcen vergleichen.56
2.5.2Durch ältere Version ersetzen.57
2.5.3Gelöschte Ressource wiederherstellen.57
2.6Unterstützung für Java 5.57
2.6.1Generische Datentypen.58
2.6.2Enumerationen und Annotationen.58
2.6.3Autoboxing.59
2.6.4Statische Importe.59
2.6.5Neue Syntax für for-Schleife.59
2.6.6Variable Anzahl von Parametern.60
3Die Kunst der (visuellen) Komposition61
3.1Einstellungen.62
3.2Komposition.63
3.3Bohnen und deren Eigenschaften.65
3.4Layouts.66
3.5Ereignisverarbeitung.67
4Projekte richtig organisieren69
4.1Die Workbench.69
4.2Ressourcen.70
4.2.1Ressourcentypen.70
4.2.2Wo Ressourcen gespeichert werden.71
4.2.3Ressourcen synchronisieren.71
4.2.4Navigation.72
4.3Assoziationen.73
4.4Packages.74
4.4.1Verzeichnisse und Packages.74
4.4.2Navigation.75
4.4.3Typhierarchie.76
4.5Der Outline-View.77
4.5.1Darstellung.77
4.5.2Kontextfunktionen.78
4.6Suchen.80
4.6.1Die Suchfunktion.80
4.6.2Finden und Ersetzen.81
4.6.3Gleichnamige Elemente markieren.83
4.7Editoren und Views anordnen.83
4.8Perspektiven verwalten.85
4.8.1Neue Perspektiven definieren.85
4.8.2Perspektiven konfigurieren.86
4.8.3Mehrere Perspektiven öffnen.87
4.9Dateien importieren.88
4.10Projekteigenschaften.90
4.11Die Java-Browsing-Perspektive.92
5Projekt 1: Duke spricht95
5.1Einrichten des Projekts.95
5.2Kurzer Exkurs in die Sprachsynthese.96
5.3Erweiterung des FreeTTS-Systems.98
5.3.1Animationsereignisse.98
5.3.2Der Animator.100
5.3.3Einbau in FreeTTS.103
5.3.4Verbindung mit dem Java-Audiosystem.106
5.4Die Benutzeroberfläche.108
5.4.1Das animierte Gesicht.108
5.4.2Die Bedieneinheit.109
5.4.3Das Modell.109
5.4.4Die Präsentation.110
5.4.5Die komplette Applikation.116
5.5Die Applikation aus Eclipse exportieren.119
5.6Vertiefende Literatur.120
5.7Was konnten wir lernen?120
6Programmentwicklung123
6.1Debugging.123
6.1.1Die Debug-Konfiguration.123
6.1.2Die Debug-Perspektive.124
6.1.3Den Programmablauf steuern.126
6.1.4Breakpoints verwalten.128
6.1.5Die Konsole.130
6.1.6Remote-Debugging.130
6.2JUnit.131
6.2.1JUnit einrichten.132
6.2.2Eine Testsuite erstellen.133
6.2.3Eine Testsuite zum Ablauf bringen.136
6.3Dokumentation.137
7Weiterführende Themen der Projektentwicklung141
7.1Entwicklung im Team.141
7.1.1Repositorium einrichten.142
7.1.2Projekte im Repositorium.144
7.1.3Versionsverwaltung.145
7.1.4Arbeiten im Team.146
7.1.5Weitere Funktionen.148
7.2Externe Werkzeuge.149
Teil IISWT statt Swing151
8Das SWT153
8.1Übersicht über die SWT-Funktionsgruppen.153
8.2Vor- und Nachteile des SWT.154
8.2.1Vorteile des SWT.154
8.2.2Nachteile des SWT.155
8.3Das Package SWT.156
8.4Ereignisse.156
8.4.1Zuhörer.157
8.4.2Adapter.158
8.4.3Ereignisse.158
8.4.4Übersicht über Listener-, Adapter- und Event-Klassen.159
8.5Widgets.160
8.5.1Visuelle Übersicht.162
8.5.2Displays, Shells und Monitore.163
8.5.3Dialoge.168
8.5.4Composites, Groups und Canvas.171
8.5.5Tasten.172
8.5.6Schieberegler, Skalen und Fortschrittsbalken.174
8.5.7Text- und numerische Felder, Beschriftungen und Verweise.176
8.5.8Tabellen, Listen und Combos.179
8.5.9Bäume.183
8.5.10Verschiebbare Trennleisten.185
8.5.11Pultordner.186
8.5.12Werkzeugleisten und Menüs.188
8.5.13Nicht-native Widgets.194
8.5.14Das Browser-Widget.196
8.6Layouts.197
8.6.1Visuelle Übersicht.197
8.6.2Die Klasse FillLayout.198
8.6.3Die Klasse RowLayout.199
8.6.4Die Klasse GridLayout.200
8.6.5Die Klasse FormLayout.202
8.6.6Die Klasse StackLayout.204
8.7Grafik.205
8.7.1Der Grafikkontext.206
8.7.2Farben.207
8.7.3Schriftarten.208
8.7.4Bilder.209
8.7.5Der Mauszeiger.210
8.7.6Fortgeschrittene Grafikfunktionen.211
8.8Ein Widget mit Swing.213
8.8.1Eingebettete Inhalte.213
8.8.2Ereignisse.214
8.9Ausgabe auf Drucker.217
8.10Datentransfer.219
8.10.1Die Zwischenablage.219
8.10.2Drag&Drop.220
8.11Ressourcenverwaltung.221
8.12Windows32-Unterstützung (OLE).222
8.13SWT auf dem Pocket PC.223
8.14Behindertengerechte Software.224
9JFace225
9.1Ressourcenverwaltung.225
9.1.1Farbverwaltung.225
9.1.2Die Klasse FontRegistry.226
9.1.3Die Klasse ImageRegistry.226
9.1.4Die Klasse JFaceResources.227
9.2Dialoge und Fenster.227
9.2.1Verschiedene Dialogtypen.228
9.2.2Eigene Dialoge implementieren.231
9.2.3Dialoge persistent machen.235
9.3Viewer.236
9.3.1Das Viewer-Ereignismodell.236
9.3.2Die Viewer-Hierarchie.236
9.3.3Zelleneditoren.238
9.3.4Datentransfer.239
9.4Textverarbeitung.240
9.4.1Basisklassen der Textverarbeitung.240
9.4.2Der SourceViewer.246
9.4.3Der ProjectionViewer.250
9.4.4Mehr Komfort für Textfelder und Combos.250
9.5Aktionen und Menüs.251
9.5.1Das IAction-Interface.251
9.5.2Die Manager.252
9.6Wizards.253
9.6.1Die Klasse Wizard.253
9.6.2Die Klasse WizardPage.254
9.6.3Die Klasse WizardSelectionPage.255
9.6.4Die Klasse WizardDialog.256
9.7Präferenzen.256
9.7.1Die Klassen PreferenceStore und PreferenceConverter.256
9.7.2Die Klasse PreferencePage.258
9.7.3Feldeditoren.258
9.7.4Präferenzenbäume.260
10Projekt 2: Jukebox263
10.1Designziele und Umsetzung.263
10.2Einrichten des Projekts.266
10.3Das Player-Modul.268
10.4Das Datenmodell der Playlist.293
10.5Das Fenster für die Anzeige der Beschreibung.296
10.6Der Playlist-Viewer.298
10.7Der Editor für Beschreibungen.323
10.8Die Jukebox zum Einsatz bringen.336
10.9Diskussion.337
Teil IIIEclipse als Ablaufplattform339
11Plugins für die Eclipse-Workbench entwickeln341
11.1Die Architektur der Eclipse-Plattform.342
11.1.1OSGi.342
11.1.2Minimalplattform.344
11.1.3Rich Client Platform vs. IDE.344
11.1.4Ressourcenverwaltung.344
11.1.5Benutzeroberfläche.345
11.1.6Hilfesystem.345
11.1.7Unterstützung für Arbeitsgruppen.346
11.1.8Weitere Plugin-Gruppen.346
11.1.9Zusammenfassung.346
11.2Die Kernklassen der Eclipse-Plattform.347
11.2.1Die Klasse Platform.348
11.2.2Die Klasse Plugin.348
11.2.3Die Klasse Preferences.349
11.2.4Pfadangaben.350
11.2.5Überwachung lang laufender Prozesse.350
11.3Der Eclipse-Workspace.351
11.3.1Ressourcen.352
11.3.2Markierungen.356
11.3.3Auf Ressourcenänderungen reagieren.357
11.3.4Lang laufende Prozesse verwalten.359
11.4Plugins konfigurieren.360
11.4.1Die Plugin-Development-Perspektive.360
11.4.2Die Manifest-Dateien.363
11.4.3Die wichtigsten Erweiterungspunkte im Eclipse-SDK.367
11.4.4Der Schema-Editor.376
11.5Die Benutzeroberfläche der Eclipse-Plattform.379
11.5.1Formulare.379
11.5.2Die Eclipse-Workbench.387
11.5.3Die Architektur der Workbench.388
11.5.4Ereignisverarbeitung in der Workbench.390
11.5.5Operationenverwaltung.393
11.5.6Editoren.394
11.5.7Views.403
11.5.8Aktionen.408
11.5.9Dialoge.414
11.5.10Workbench-Wizards.417
11.5.11Präferenzen und PropertyPages.420
11.5.12Perspektiven definieren.421
11.6Elemente der Benutzerhilfe.423
11.6.1Das Hilfesystem.423
11.6.2Cheat Sheets.429
11.6.3Den Eclipse-SDK-Willkommensschirm erweitern.431
11.6.4Hover.433
11.7Webbrowser aufrufen.434
12Eigene Produkte auf der Grundlage von Eclipse entwickeln435
12.1ANT-Einbindung.436
12.2Plugins und Fragmente.439
12.3Features.440
12.4Deployment.442
12.4.1Features ausliefern.443
12.4.2Eigenständige Produkte ausliefern.444
12.4.3Produktgestaltung.445
12.4.4Den Workspace bevölkern.446
12.4.5Update-Sites erstellen.448
12.5Von einer Update-Site installieren.450
12.5.1Update-Site hinzufügen.450
12.5.2Features installieren.451
12.5.3Features aktualisieren.452
12.5.4Die Eclipse-Konfiguration verwalten.452
12.5.5Install-Handler.453
12.5.6Update Policies.453
12.6Produkte internationalisieren.454
12.6.1Textkonstanten in Programmen.455
12.6.2Textkonstanten in Manifest-Dateien.457
12.6.3Hilfetexte und Spickzettel.457
12.6.4Sprachpakete ausliefern.459
12.7Der Feature-Patch.459
13Projekt 3: Rechtschreibprüfung als Eclipse-Plugin461
13.1Die Kernklassen der Rechtschreibprüfung.462
13.2Übersicht.462
13.2.1Die Engine.462
13.2.2Übersicht.463
13.3Das Projekt einrichten.464
13.4Die Plugin-Konfiguration.467
13.4.1Importierte Dateien.468
13.4.2Das OSGi-Manifest MANIFEST.MF.469
13.4.3Das Manifest plugin.xml.470
13.4.4Das Schema documentTokenizer.exsd.475
13.5Die Plugin-Klasse.477
13.6Die Aktion "Check Spelling".483
13.6.1Die Klasse SpellCheckingTarget.483
13.6.2Die Klasse CheckSpellingActionDelegate.490
13.7Das Korrekturfenster.499
13.7.1Die Klasse SpellCorrectionView.500
13.7.2Aktionen.512
13.7.3Bilder verwalten.513
13.8Das Zusammenspiel zwischen den Kernklassen und den GUI-Klassen.515
13.9Dokumente analysieren.530
13.10Die Rechtschreibprüfung konfigurieren.530
13.10.1Präferenzen.530
13.10.2Das GUI.533
13.10.3Den PreferenceStore auslesen.539
13.11Das Hilfesystem.540
13.11.1Das Hilfe-Inhaltsverzeichnis.540
13.11.2Kontextabhängige Hilfe.541
13.11.3Aktive Hilfe.542
13.12Ein Plugin für Java-Properties.545
13.12.1Das Projekt einrichten.546
13.12.2Das Manifest.546
13.12.3Die Plugin-Klasse.549
13.12.4Die Präferenzen.549
13.12.5Die PreferencePage.551
13.12.6Der Java-Properties-Tokenizer.552
13.12.7Das Hilfesystem.552
13.13Die Rechtschreibprüfung internationalisieren.553
13.13.1Textkonstanten in Java-Code.553
13.13.2Textkonstanten in Manifest-Dateien.556
13.13.3Ein Sprachfragment erstellen.557
13.14Den Spell Checker zum Einsatz bringen.560
13.14.1Definition des Spell-Checker-Features.560
13.14.2Das Sprach-Feature erstellen.566
13.14.3Definition der Update-Site.568
13.14.4Installation.570
13.15Erfahrungen.570
14Die Rich Client Platform571
14.1Motivation und Abgrenzung.572
14.2Plugins und die RCP.572
14.3Erstellen einer Applikation.573
14.3.1Das Interface IPlatformRunnable.574
14.3.2Die Klasse WorkbenchAdvisor.574
14.3.3Die Klasse WorkbenchWindowAdvisor.576
14.3.4Die Klasse ActionBarAdvisor.577
14.4Testen einer Rich-Client-Applikation.578
14.5Produktdefinition.579
14.5.1Produktdefinition im Plugin-Manifest.579
14.5.2Die Konfigurationdatei config.ini.579
14.5.3Der Produkteditor.580
14.5.4Weitere Gestaltungsmöglichkeiten.583
14.6Die Willkommensseite.584
14.7Ausliefern einer Rich-Client-Applikation.584
15Projekt 4: Das Spiel Hex als RCP-Applikation587
15.1Übersicht.587
15.2Das Projekt einrichten.589
15.3Das Manifest plugin.xml.590
15.3.1Erste Ausführung.590
15.3.2Weitere benötigte Eclipse-Plugins.591
15.3.3Die Applikation konfigurieren.592
15.4Die Schnittstelle zur Game-Engine.593
15.4.1Das Interface IStatusListener.593
15.4.2Das Interface IGame.593
15.5Die Klasse View.594
15.6Die Game-Engine.596
15.7Die Klasse ApplicationActionBarAdvisor.602
15.8Benutzerhilfe.606
15.8.1Hilfe anbinden.606
15.8.2Willkommensschirm erstellen.607
15.9Produktdefinition.611
15.10Das komplette Manifest.614
15.11Auslieferung.615
15.12Diskussion.616
16Schlussfolgerungen und Ausblick617
16.1Lauffähige Prototypen.618
16.2Automatisierte Tests.619
16.3Verfeinerungen.619
16.4"Embrace Change".621
16.5Weg des geringsten Widerstandes.622
Anhang623
ANützliche Plugins für Eclipse625
BVerhalten bei einem Eclipse-Versionswechsel629
CWichtige Downloads633
Bibliographie635
Stichwortverzeichnis637