Elisabeth Jung. Java 6 Das Übungsbuch. mitp

Größe: px
Ab Seite anzeigen:

Download "Elisabeth Jung. Java 6 Das Übungsbuch. mitp"

Transkript

1 Elisabeth Jung Java 6 Das Übungsbuch mitp

2 Einleitung 23 Autorin 26 i Klassendefinition und Objektinstantiierung 27 I.I Klassen und Objekte 27 A Aufgabe I.I: Definition einer Klasse 30 Ä Aufgabe 1.2: Objekt (Instanz) einer Klasse erzeugen Die Member einer Klasse: Felder und Methoden 31 r Aufgabe 1.3: Zugriff auf Felder 32 Ä A Aufgabe 1.4: Aufruf von Methoden Das Überladen von Methoden 33 A Aufgabe 1.5: Eine Methode überladen Die Datenkapselung, ein Prinzip der objektorientierten Programmierung 34 A Aufgabe 1.6: Zugriffsmethoden Das»aktuelle Objekt«und die»this-referenz«34 : A A Aufgabe 1.7: Konstruktordefinitionen Die Wert- und Referenzübergabe in Methodenaufrufen 35 A A A Aufgabe 1.8: Wertübergabe in Methoden (»call by value«) Globale und lokale Referenzen 36 u A Aufgabe 1.9: Der Umgang mit Referenzen 36 A A A Aufgabe 1.10: Wiederholungsaufgabe Selbstreferenzierende Klassen und Felder (»self-referential classes and fields«) 38 ffü & Aufgabe 1.11: Der Einsatz von selbstreferenzierenden Feldern Java-Pakete 39 A Aufgabe 1.12: Die package-anweisung 40 A Aufgabe 1.13: Die import-anweisung 41

3 I.IO Die Modifikatoren für Felder und Methoden in Zusammenhang mit der Definition von Paketen 41 fr fr Aufgabe 1.14: Pakete und die Sichtbarkeit von Membern einer Klasse Standard-Klassen von Java 42 AÄA Aufgabe 1.15: Aufruf von Methoden der Klasse Math 44 fr fr Aufgabe 1.16: Wiederholungsaufgabe Die Wrapper-Klassen von Java und das Auto(un)boxing 46 Ä-'A Aufgabe 1.17: Die Felder und Methoden von Wrapper-Klassen 47 ür Aufgabe 1.18: Das Auto(un)boxing Arrays (Reihungen) und die Klassen Array und Arrays 48 fr fr. Aufgabe 1.19: Der Umgang mit Array-Objekten Zeichenketten und die Klasse String 50 fr Aufgabe 1.20: Der Umgang mit String-Objekten Mit der Version 5.0 eingeführte Spracherneuerungen für Arrays und Methoden 50 fr Aufgabe 1.21: Einfache und erweiterte for-schleifen fr Aufgabe 1.22: Methoden mit variablen Argumentenlisten Das Initialisieren von Klassen- und Instanzfeldern 52 fr Aufgabe 1.23: Das Initialisieren von Instanzfeldern fr Aufgabe 1.24: Das Initialisieren von Klassenfeldern Private Konstruktoren 53 fr Aufgabe 1.25: Ein Objekt mit Hilfe eines privaten Konstruktoren erzeugen 54 fr fr Aufgabe 1.26: Mehrere konstante Werte (Objekte) mit Hilfe eines privaten Konstruktoren erzeugen Lösungen 55 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung I.IO 67 6

4 Lösung i.n 72 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Abgeleitete Klassen und Vererbung Abgeleitete Klassen Die Konstruktoren von abgeleiteten Klassen Abgeleitete Klassen und die Sichtbarkeit von Feldern und Methoden 99 ir it Aufgabe 2.1: Test von Sichtbarkeitsebenen Das Verdecken von Klassenmethoden und das statische Binden von Methoden 101 it it Aufgabe 2.2: Der Aufruf von verdeckten Klassenmethoden Das Überschreiben von Instanzmethoden und das dynamische Binden von Methoden 102 k Aufgabe 2.3: Das dynamische Binden von Methoden Vererbung und Komposition 103 k Aufgabe 2.4: Die Komposition 104 it Aufgabe 2.5: Die Vererbung Kovariante Rückgabetypen in Methoden 105 ü it Aufgabe 2.6: Die Benutzung von kovarianten Rückgabetypen Verdeckte Felder 106 it it it Aufgabe 2.7: Wiederholungsaufgabe 106

5 ichnis 2.9 Vergrößernde und verkleinernde Konvertierung (»up- und down-casting«) 108 #'* * Aufgabe 2.8: Up- und Down-Casts "tt Aufgabe 2.9: Der Unterschied zwischen»ist-ein-«und»hat-ein- Beziehungen« Der Polymorphismus, ein Prinzip der objektorientierten Programmierung 110 k-fair Aufgabe 2.10: Der»Subtyp-Polymorphismus«im Kontext einer Klassenhierarchie n Lösungen 112 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Abstrakte Klassen und Interfaces Abstrakte Klassen Abstrakte Java-Standard-Klassen und eigene Definitionen von abstrakten Klassen 139 <f Aufgabe 3.1: Die abstrakte Klasse Number und ihre Unterklassen 139 <r Aufgabe 3.2: Definition einer eigenen abstrakten Klasse Die Referenzen vom Typ einer abstrakten Klassen 141 ir Aufgabe 3.3: Der Subtyp-Polymorphismus für Methoden im Kontext einer Klassenhierarchie mit abstrakten Klassendefinitionen 141 & Aufgabe 3.4: Der Subtyp-Polymorphismus für Felder im Kontext einer Klassenhierarchie mit abstrakten Klassendefinitionen Interfaces (Schnittstellen) 142 iiii Aufgabe 3.5: Die Definition eines Interface Die Entscheidung zwischen abstrakten Klassen und Interfaces 143 -ttitit Aufgabe 3.6: Paralleler Einsatz von Interfaces und abstrakten Klassen 144

6 3.6 Oberinterfaces 145 <r it Aufgabe 3.7: Das Ableiten von Interfaces Implementieren von mehreren Interfaces für eine Klasse 146 -fr * Aufgabe 3.8: Wiederholungsaufgabe Die Vererbung an Beispielen von Java-Standard-Klassen und Standard-Interfaces Das Klonen von Objekten 148 tr Aufgabe 3.9: Das Klonen von Instanzen der eigenen Klasse 148 "ü Aufgabe 3.10: Das Klonen von Instanzen anderer Klassen 149 & -it Aufgabe 3.11: Das Klonen von Arrays 149 ft Aufgabe 3.12: Das Überschreiben der clone()-methode in Java Die Gleichheit von Objekten 150 iz Aufgabe 3.13: Die Gleichheit von geklonten Objekten Das oberflächliche und das tiefe Klonen (»shallow und deep cloning«) 151 Ct Aufgabe 3.14: Das Klonen und der Copy-Konstruktor 151 ifü-ü Aufagbe 3.15: Tiefes Klonen am Beispiel von Array-Objekten 152 ü itit Aufgabe 3.16: Oberflächliches und tiefes Klonen für Referenztypen Der Garbage Collector und das Beseitigen von Objekten 153 ii Aufgabe 3.17: Das Zerstören von Instanzen Lösungen 154 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung

7 rzeichnis Lösung Lösung Lösung Lösung Lösung Einführung in die graphische Programmierung Das AWT (Abstract Windowing Toolkit) und Swing Fenster unter graphischen Oberflächen Die Klassen Graphics und Graphics2D Methoden zum Zeichnen 186 in Aufgabe 4.1: Eine einfache AWT-Komponente vom Typ Frame 189 it Aufgabe 4.2: Eine Einfache Swing-Komponente vom Typ JFrame 189 fr Aufgabe 4.3: Ein JWindow-Fenster 190 * Aufgabe 4.4: Ein JDialog-Fenster 190 -fta Aufgabe 4.5: Das Neuzeichnen einer Swing-Komponente ohne Benutzung des Clip-Rectangles 190 it it it it Aufgabe 4.6: Das Neuzeichnen einer Swing-Komponente mit Benutzung des Clip-Rectangles 191 Aufgabe 4.7: Das Parametrisieren der paint()-methode 191 * Aufgabe 4.8: Die Instanzen der Klasse Color Die Transparenz-Eigenschaft und der Hintergrund von Komponenten Layout-Manager 193 it Aufgabe 4.9: Die vordefinierten Layout-Manager für Standard-Klassen 195 it it it ititit Aufgabe 4.10: Die Layout-Manager von AWT-Komponenten 195 Aufgabe 4.n: Die Layout-Manager von Swing-Komponenten 196 it it Aufgabe 4.12: Das BoxLayout 196 ititit Aufgabe 4.13: Das GridBagLayout 197 it "tt Aufgabe 4.14: Das null-layout Das Überlappen von Komponenten 198 it Aufgabe 4.15: Das Verhalten von AWT-LWund -HW-Komponenten 199 it # Aufgabe 4.16: AWT-Container mit LW- und HW-Kindkomponenten 199

8 ü-ti-il Aufgabe 4.17: Z-Order-Index für AWT-LW-Komponenten 200 Ü Aufgabe 4.18: Das Verhalten von Swing-Komponenten 200 it it it Aufgabe 4.19: Swing-Container und der Z-Order-Index für Swing-Komponenten Das System als Auslöser für Zeichenoperationen 201 * tf Aufgabe 4.20: Resizing von AWT-Komponenten 202 A "k Aufgabe 4.21: Resizing von Swing-Komponenten Eventbehandlung Events auf niedriger Ebene 204 Cr Aufgabe 4.22: Das Interface WindowListener und die Klasse WindowEvent 204 # Aufgabe 4.23: Die Klasse WindowAdapter Events auf höherer Ebene 205 <i Aufagabe 4.24: Das Interface ActionListener und die Klasse ActionEvent 205 tfr Aufgabe 4.25: Das Interface KeyListener und die Klasse KeyEvent Das Delegationsmodell in der Eventbehandlung 206 & <r Aufgabe 4.26: Die Ereignisbehandlung in einer separaten Klasse definieren Lösungen 207 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung

9 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Erweiterte graphische Programmierung Der RootPane-Container 247 -kit Hit 4ÄA Aufgabe 5.1: Die LayeredPane einer Fensterkomponente 249 Aufgabe 5.2: Eine beliebige Instanz der Klasse JLayeredPane 250 Aufgabe 5.3: Das Positionieren von Komponenten in und innerhalb von Ebenen 251 it iz "6" Aufgabe 5.4: Eine GlassPane, die Ereignisse empfängt 251 tt it it Aufgabe 5.5: Eine benutzerdefinierte GlassPane-Komponente Interne Fenster 252 Ht it & Aufgabe 5.6: Die Instanzen der Klasse JInternalFrame 253 Aufgabe 5.7: Die Verschachtelung von internen Fenstern Die Applikation als Auslöser für Zeichenoperationen 253 ix A Aufgabe 5.8: Aufruf der repaintq-mefhode für AWT-Komponenten 254 <r A Aufgabe 5.9: Aufruf der repaint()-methode für Swing-Komponenten 254 ÄA Aufgabe 5.10: Die getgraphics()-methode 255 $tit ft"6"tfr Aufgabe 5.11: Die Methoden paint(), getgraphics() und repaint() gleichzeitig nutzen 255 Aufgabe 5.12: Weiterführendes Zeichnen (»incremental painting«) Das Interface Shape 257 A Aufgabe 5.13: Die Methode draw() der Klasse Graphics2D 257

10 Inhaltsverzeich <r Aufgabe 5.14: Wiederholungsaufgabe 258 lär Aufgabe 5.15: Wiederholungsaufgabe 258 Praxisnahe Zeichenvorgänge und Eventbehandlungen 258 *<ra Aufgabe 5.16: Wiederholungsaufgabe 258 Benutzerdefinierte Event-Objekte und Event-Listener 259 -itifct Aufgabe 5.17: Das Eweitern der Klasse EventObject und des Interface EventListener 260 Lösungen 261 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Das Erscheinungsbild einer Anwendung mit graphischer Oberfläche 295 Die Architektur Modell View Controller (MVC) von Swing-Komponenten 295 Benutzerdefinierte Modelle, die Standard-Model-Interfaces implementieren 295 Cr ittti* Aufgabe 6.1: Die AWT-Klasse List und ein DefaultComboBox-Modell 296 Aufgabe 6.2: Benutzerdefiniertes ComboBox-Modell ohne Eventbehandlung 297 ;'; M -M" Aufgabe 6.3: Benutzerdefiniertes ComboBox-Modell mit Eventbehandlung 299 & & & Aufgabe 6.4: Benutzung des ComboBox-Modells für eine Viewer-Komponente vom Typ JComboBox 299

11 it *b it Aufgabe 6.5: Die Vorlage für ein benutzerdefiniertes Modell als Erweiterung der Klasse PlainDocument definieren Standard-Modelle am Beipiel der Klasse JTree 301 ö - Aufgabe 6.6: Die Klassen JTree und DefaultMutableTreeNode 301 ttiiii Aufgabe 6.7: Die Klassen DefaultTreeModel und DefaultTreeSelectionModel 301 kitit Aufgabe 6.8: Benutzerdefiniertes Tree-Modell mit Eventbehandlung Die UI-Delegationsklassen und ihre Instanzen, der UI-Delegate Java-Standard-User-Interface-Delegationsklassen 304 k Aufgabe 6.9 : Der Standard-UI-Delegate 304 ir Aufgabe 6.10: Das Setzen der bevorzugten Größe für Komponenten 304 it <r Aufgabe 6.11: Das Setzen einer minimalen Größe für Komponenten in Abhängigkeit von der Größe eines zu zeichnenden Bildes 305 kkiz Aufgabe 6.12: Das Setzen einer minimalen Größe für Komponenten in Abhängigkeit von der Größe der beim Zeichnen verwendeten Schrift Benutzerdefinierte User-Interface-Delegaten 306 ititii Aufgabe 6.13: Ein benutzerdefinierter UI-Delegate und das Setzen der bevorzugten Größe von Komponenten 306 irirk Aufgabe 6.14: Ein benutzerdefinierter UI-Delegate für eine benutzerdefinierte Komponente 307 "AiÄ'Ä Aufgabe 6.15: Wiederholungsaufgabe Die Klassen LookAndFeel, UIDefaults, UIManager und das Interface UIResource 309 fr k Aufagabe 6.16: Lesen von Werten der UIDefaults-Tabelle 310 A Aufgabe 6.17: Setzen von Werten der UIDefaults-Tabelle 311 iittii Aufgabe 6.18: Setzen des UI-Delegationsobjektes mit der Methode put() der UIManager-Klasse Standard-LookAndFeel-Komponenten 312 kitit Aufgabe 6.19: LookAndFeel-spezifische Wiedergabe von Komponenten 313

12 ifbit Aufgabe 6.20: Wechseln zwischen allen installierten LookandFeel-Komponenten Das Erweitern der LookandFeel-Klasse 314 itütit' Aufgabe 6.21: Benutzerdefinierte LookAndFeel-Komponenten 314 iittit Aufgabe 6.22: Das Zusammenspiel zwischen den drei MVC-Komponenten Model, Viewer und Controller Lösungen 316 Lösung Lösung Lösung Lösung Lösung Lösung Lösung 6.7, 329 Lösung Lösung Lösung Lösung 6.n 339 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Innere Klassen Die Definition von inneren Klassen und deren Instanzen 375 ö - Aufgabe 7.1: Instantiieren von Member-Klassen innerhalb der umgebenden Klasse 376 tt <t ii Aufagabe 7.2: Instantiieren von Member-Klassen außerhalb der umgebenden Klasse 377 Aufgabe 7.3: Instantiieren von Static-Member-Klassen innerhalb der umgebenden Klasse 377

13 it it Aufgabe 7.4: Instantiieren von Static-Member-Klassen außerhalb der umgebenden Klasse 378 * Aufgabe 7.5: Lokale Klassen 378 it Aufgabe 7.6: Anonyme Klassen 379 it Aufgabe 7.7: Member-Interfaces 379 it it Aufgabe 7.8: Member-Interface mittels einer anonymen Klasse implementieren 380 it it Aufgabe 7.9: Member-Interface von einer anderen Klasse implementieren 380 it * Aufgabe 7.10: Member-Interfaces und Member-Klassen Innere Klassen am Beispiel von Event-Listener und Event-Adapter 381 it Aufgabe 7.11: Den WindowAdapter als Member-Klasse definieren 381 it it iiitit Aufgabe 7.12: Den WindowAdapter mittels einer anonymen Klasse implementieren 382 Aufgabe 7.13: Den ActionListener mittels einer anonymen Klasse implementieren 382 Aufgabe 7.14: Benutzdefinierte Event-Objekte und Event-Listener für JButton- und JTextField- Komponenten 382 #.# Ä Aufgabe 7.15: Benutzdefinierte Event-Objekte und Event-Listener für JRadioButton-Komponenten 383 Cr it it Aufgabe 7.16: Benutzderfinierte Event-Objekte und Event-Listener für JLabel-Komponenten Weitere Beispiele mit inneren Klassendefinitionen 384 ir it Aufgabe 7.17: Die Methoden der Klasse JOptionPane aus einer anonymen Klasse aufrufen 385 it A"ör Aufgabe 7.18: Einen Farbauswahldialog und die main()-methode innerhalb von inneren Klassen definieren 385 Äftft Aufgabe 7.19: Wiederholungsaufgabe Lösungen: 387 Lösung Lösung Lösung Lösung Lösung Lösung

14 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Generics Die Generizität Generische Klassen und Interfaces 428 vr Aufgabe 8.1: Generischer Datentyp als Behälter für die Instanzen vom Typ des Klassenparameters 428 iz Aufgabe 8.2: Generischer Datentyp als»über-typ«für die Instanzen vom Typ des Klassenparameters ife-är * Aufgabe 8.3: Generischer Stack Generische Wildcardtypen 430 ftlt Aufgabe 8.4: Generische Wildcardtypen 430 : # * * Aufgabe 8.5: Obere Schranke (»upper bound wildcard«) für Wildcardtypen 431 titftt Aufgabe 8.6: Untere Schranke (»lower bound wildcard«) für Wildcardtypen Legacy Code, Erasure und Raw-Typen 432 üifü Aufgabe 8.7: Raw-Typen am Beispiel einer generischen Klasse mit zwei Typparametern 433 ii Aufgabe 8.8: Generische Interfaces 434 U -ü Aufgabe 8.9: Brückenmethoden (»bridge methodes«) Generische Arrays 435 "tctt Aufgabe 8.10: Erzeugen von generischen Arrays Generische Methoden 436 ii \: \; Aufgabe 8.11: Generische Methodendefmitionen for-each-schleifen für Collections 437

15 ifdit Aufgabe 8.12: Generische Arrays in generischen Methodendefinitionen Generische Standard-Klassen und -Interfarces 438 # Aufgabe 8.13: Die Klasse ArrayList<E> und die Schnittstelle List<E> 439 Grit Aufgabe 8.14: Die Klasse Vector<E> und die Schnittstelle Collection<E> 440 A-fc Aufgabe 8.15: Die Klasse TreeMap<K,V> 440 #ift Aufgabe 8.16: Wiederholungsaufgabe Enumerationen und die generische Klasse Enum<E extends Enum<E» 442 itit Aufgabe 8.17: Die Definition von Enumerationen 442 & & & Aufgabe 8.18: Konstruktoren und Methoden von enum-klassen Die Interfaces Enumeration<E>, Iterable<T> und Iterator<E> sowie Map<K,V> und Set<E> 443 &ii Aufgabe 8.19: Weitere generische Schnittstellen Die Einträge der UIDefaults-Tabelle als Instanz der Klasse Hashtable<Object, Object> 445 ir it Aufgabe 8.20: Das Ändern der font-eigenschaft von Swing-Komponenten Die generischen Klassen Class<T> und Constructor<T> 445 ÄÄA Aufgabe 8.21: Die Klasse Class<T> 446 #-#A Aufgabe 8.22: Die Klasse Constructor<T> 446 ÄÄ'Ä Aufgabe 8.23: Erzeugen von generischen Arrays mit Hilfe eines Class-Objektes Definition von benutzerdefinierten Modellen, die generische Klassen und generische Interfaces benutzen 448 ö#<r Aufgabe 8.24: Ein benutzerdefiniertes UIDefaults- Tree-Modell, welches die Eigenschaften von JButton-, JList- und JTree-Komponenten speichert 449 A# Ä Aufgabe 8.25: Die Syntax der firexxx-methodensignaturen von TreeModel-Klassen 450 tttrii ir -teit fr ir Aufgabe 8.26: Ein UIDefaults-Tree-Modell, das die String-Eigenschaften von Swing-Komponenten speichert 450 Aufgabe 8.27: Benutzerdefiniertes List-Modell ohne Eventbehandlung 451 Aufgabe 8.28: Benutzung des List-Modells für eine Viewer-Komponente vom Typ JList 452

16 fruit Aufgabe 8.2g: Benutzerdefiniertes List-Modell mit Eventbehandlung 453 Ä A Aufgabe 8.30: Benutzung des List-Modells für eine Viewer-Komponente vom Typ JList 453 izitil Aufgabe 8.31: Vervollständigung der Lösung für ein benutzerdefiniertes List-Modell Lösungen 455 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung

17 rzeichnis 9 Exceptions und Errors Ausnahmen auslösen Ausnahmen abfangen oder weitergeben 518 ft Aufgabe 9.1: Unbehandelte RuntimeExceptions 518 ft Aufgabe 9.2: Behandelte RuntimeExceptions 519 ft ft Aufgabe 9.3: Die Weitergabe von Ausnahmen Das Verwenden von finally in der Ausnahmebehandlung 520 ft Aufgabe 9.4: Der fmally-block 520 ttäa Aufgabe 9.5: Geschachtelte try/catch-blöcke Ausnahmen manuell auslösen 522 ftft Aufgabe 9.6: Standard-Ausnahmen manuell auslösen Exception-Unterklassen erzeugen 523 ft Aufgabe 9.7: Benutzerdefinierte Ausnahmen manuell auslösen 523 itftft Aufgabe 9.8: Wiederholungsaufgabe Ketten von Ausnahmen 525 ilfftft Aufgabe 9.9: Exception-Ketten Die Ausnahmen bei einem Wechsel von LookAndFeel-Komponenten 526 ftftft Aufgabe 9.10: Die LookAndFeel-spezifischen Einträge der UIDefaults-Tabelle 526 ftftft Aufgabe 9.11: Wiederholungsaufgabe Lösungen 528 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung 9.n Updates mit fava Ergänzungen im Sprachumfeld und in der Behandlung von Exceptions mit Java

18 ii ii Aufgabe IO.I: Der GLOBAL_LOGGER_NAME, Array-Copies, Empty-Strings und throw in einem catch-block Die neuen displayname[s] Methoden der Klasse Calendar 560 it Aufgabe 10.2: Die Klassen Calendar und Date Die Interfaces NavigableMaps und NavigableSets 562 it it Aufgabe 10.3: Die Methoden der Interfaces NavigableMap und NavigableSet Splash Screens 562 fir Aufgabe 10.4: Einen Splash Screen setzen 563 ii Aufgabe 10.5: Auf einen Splash Screen zeichnen Der Dialog-ModalityType 564 "& && Aufgabe 10.6: Die Dialog.ModalityType-Option Sortieren und Filtern von Tabelleneinträgen 566 it. Aufgabe 10.7: Das Sortieren von Tabelleneinträgen mit Hilfe der Klasse TableRowSorter<TableModel> iiii Aufgabe 10.8: Das Sortieren von Tabelleneinträgen unter Benutzung eines benutzerdefinierten Table-Modells 567 iiii ii Aufgabe 10.9: Filtern von Tabelleneinträge mit Hilfe von Standard-Filterklassen 567 ii ii & Aufgabe 10.10: Einen benutzerdefinierten Filter erzeugen 568 ilitit Aufgabe 10.11: Wiederholungsaufgabe Komponenten für die Registerkarten (Tabs) von JTabbedPane- Instanzen nutzen *Sr Ä Aufgabe : JTabbedPane-Registerkarten mit einer String-Beschriftung 570 ii it Aufgabe 10.13: JTabbedPane-Registerkarten mit Komponenten Drag-and-Drop-Unterstützung in Java 571 ii Aufgabe 10.14: Drag-and-Drop-Test für JTextAreaund JList-Komponenten 572 ii it Aufgabe 10.15: Eigenschaften für den Transfer definieren 573 iiii Aufgabe 10.16: Drag-and-Drop-Test für JLabel-Komponenten 574 iiii Aufgabe 10.17: Die Klassen ClipBoard, StringSelection und DataFlavor 574

19 Ciitit Aufgabe 10.18: Das Interface DropTargetListener und die Klasse DropTargetEvent Benutzerdefinierte Transfer-Handler 577 -ttirit ÄAft Aufgabe 10.19: Benutzerdefinierter Transfer-Handler für JList-Komponenten 577 Aufgabe 10.20: Benutzerdefinierter Transfer-Handler für JTree-Komponenten Die neuen Drag-and-Drop-Klassen aus der Java-Version ft&6 "A*4 Aufgabe 10.21: Eine neue Betrachtung der Drop-Fähigkeit für JList-Komponenten 580 Aufgabe 10.22: Eine neue Betrachtung der Drop-Fähigkeit für JTree-Komponenten Lösungen 582 Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung Lösung ^06 Stichwortverzeichnis 629

Java 7 Das Übungsbuch Band I

Java 7 Das Übungsbuch Band I mitp Professional Java 7 Das Übungsbuch Band I Über 200 Aufgaben mit vollständigen Lösungen von Elisabeth Jung 1. Auflage Java 7 Das Übungsbuch Band I Jung schnell und portofrei erhältlich bei beck-shop.de

Mehr

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1 Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................

Mehr

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2012 1 / 19 Rückblick Themen Erste GUI-Anwendung Praktikum 2 / 19 Inhalt von Teil 1 Algorithmen Elementare Datentypen Operatoren Bedingte

Mehr

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 20 Rückblick Themen Erste GUI-Anwendung Praktikum 2 / 20 Inhalt von Teil 1 Algorithmen Elementare Datentypen Operatoren Bedingte

Mehr

Inhaltsverzeichnis. 4.9 Aufgaben... 63

Inhaltsverzeichnis. 4.9 Aufgaben... 63 Inhaltsverzeichnis 1 Einleitung 1 1.1 Programmierung... 1 1.2 Objektorientierte Programmierung... 2 1.3 Voraussetzungen und Ziele dieses Buches... 3 1.4 Aufbau dieses Buches... 4 2 Das imperative Hamster-Modell

Mehr

Johannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Weiterführende Spracheigenschaften

Johannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Weiterführende Spracheigenschaften JAVA Weiterführende Spracheigenschaften 100 AGENDA Strings Exceptions Enums Generics Lambdas & Methods Bulk-Operations 101 DIE KLASSE STRING Zeichenketten werden in Java als String repräsentiert Wie der

Mehr

1 Einleitung Generizität Syntax... 2

1 Einleitung Generizität Syntax... 2 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 1 1.1 Generizität................................ 1 1.2 Syntax.................................. 2 2 Realisierung 2 2.1 Compilierung generischer Klassen...................

Mehr

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4 Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...

Mehr

Java als erste Programmiersprache

Java als erste Programmiersprache Joachim Göll Cornelia Heinisch Java als erste Programmiersprache Grundkurs für Hochschulen 8., überarbeitete Auflage Springer Vi eweg Inhaltsverzeichnis 1 Grundlagen der Programmierung 1 1.1 Das erste

Mehr

Java als erste. Programmiersprache. Java 2 Plattform. Von Prof. Dr. Joachim Goll Cornelia Weiß Peter Rothländer. 2., durchgesehene Auflage

Java als erste. Programmiersprache. Java 2 Plattform. Von Prof. Dr. Joachim Goll Cornelia Weiß Peter Rothländer. 2., durchgesehene Auflage Java als erste Programmiersprache Java 2 Plattform Von Prof. Dr. Joachim Goll Cornelia Weiß Peter Rothländer 2., durchgesehene Auflage B. G. Teubner Stuttgart Leipzig Wiesbaden 1 GRUNDBEGRIFFE DER PROGRAMMIERUNG

Mehr

Inhaltsverzeichnis Einleitung...1 Die Begleit-CD zu diesem Buch...5 Erweiterungen für Java Ereignisse...15

Inhaltsverzeichnis Einleitung...1 Die Begleit-CD zu diesem Buch...5 Erweiterungen für Java Ereignisse...15 Inhaltsverzeichnis 1 Einleitung...1 1.1 Von Java bis Swing?...1 1.2 Wer sind Sie?...1 1.3 Was dieses Buch nicht ist...2 1.4 Die Gliederung dieses Buches...2 1.5 Konventionen...2 1.6 Zeit, anzufangen...4

Mehr

Aufbau einer typischen Java-Datei

Aufbau einer typischen Java-Datei Aufbau einer typischen Java-Datei 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [package mein.paket;] [import

Mehr

11. GUI-Programmierung mit SWING Überblick

11. GUI-Programmierung mit SWING Überblick 11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke GUIs mit Swing Markus Reschke 28.08.2014 Beispiel: Ein einfaches GUI-Programm Siehe Painter.java Markus Reschke GUIs mit Swing 2 GUI Frameworks in Java AWT war das erste GUI-Framework, welches mit Java

Mehr

II.4.4 Exceptions - 1 -

II.4.4 Exceptions - 1 - n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen

Mehr

Inhaltsverzeichnis. 1 Einleitung 9. Inhalt

Inhaltsverzeichnis. 1 Einleitung 9. Inhalt 3 sverzeichnis 1 Einleitung 9 1.1 Einführung...9 1.1.1 Definition...9 1.1.2 Historie von Java...10 1.1.3 Das Java Development Kit...12 1.1.4 Charakteristika von Java...12 1.1.5 Einsatzgebiete...13 1.1.6

Mehr

Gliederung der Folien

Gliederung der Folien 1 Gliederung der Folien 1. Einführung 1.1. Gliederung 1.2. Literatur 1.3. Einstieg in Java 1.3.1. Geschichte von Java 1.3.2. Hello World 1.3.3. Übersetzen eines Java-Programms 1.4. Die Entwicklungsumgebung

Mehr

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke Inhaltsverzeichnis 1 Der objektorientierte Ansatz... 1 1.1 Ein einführendes Beispiel...2 1.1.1 Aktive Objekte...4 1.1.2 Klassifikation...4 1.1.3 Datenkapselung...6 1.2 OOP im Überblick...6 1.3 Programmaufbau...7

Mehr

Java-Grundkurs für Wirtschaftsinformatiker

Java-Grundkurs für Wirtschaftsinformatiker Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich

Mehr

Einführung in GUI-Programmierung. javax.swing

Einführung in GUI-Programmierung. javax.swing Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt

Mehr

GUI Programmierung mit javax.swing

GUI Programmierung mit javax.swing java.awt Swing Komponenten Layout Manager Ausblick GUI Programmierung mit University basierend auf Folien von Dr. Beatrice Amrhein (Bern), 19. Juni 2006 java.awt Swing Komponenten Layout Manager Ausblick

Mehr

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1 Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................

Mehr

Alexander Niemann. Das Einsteigerseminar" < Objektorientierte ^ Programmierung in Java. bhv. i.-

Alexander Niemann. Das Einsteigerseminar < Objektorientierte ^ Programmierung in Java. bhv. i.- Alexander Niemann Das Einsteigerseminar" < Objektorientierte ^ Programmierung in Java i.- bhv Vorwort 11 Einleitung 13 Lernen - Üben 13 Über dieses Buch 14 Teil \ LöRTEn ;...-.,-......Al f Java 19 Die

Mehr

Info B VL 11: Innere Klassen/Collections

Info B VL 11: Innere Klassen/Collections Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 03: Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in GUI-Programmierung Motivation Grundlagen von Swing Praxis: UI für

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg... 1 1.1 Objektorientierung: Konzepte und Stärken...... 1 1.1.1 Gedankliche Konzepte der Objektorientierung....... 2 1.1.2 Objektorientierung als

Mehr

Funktionale und Objekt-Orientierte Programmierkonzepte

Funktionale und Objekt-Orientierte Programmierkonzepte Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1

Mehr

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren Hanspeter Mössenböck Sprechen Sie Java? Eine Einführung in das systematische Programmieren 3., überarbeitete und erweiterte Auflage Tm\ dpunkt.verlag 1 Grundlagen 1 1.1 Daten und Befehle 2 1.2 Algorithmen

Mehr

Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick

Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick 1 Einführung 2 Einfache Swing Komponenten 3 Ereignisbehandlung und Adapterklassen 4 Zeichnen 5 Layout Manager 6 Komplexere Swing Komponenten

Mehr

Programmieren mit Swing

Programmieren mit Swing Jürgen Schlierf Rudolf Weber Programmieren mit Swing Einfuhrung in die Programmierung mit den Swing-Klassen in Java 2 HANSER Carl Hanser Verlag München Wien Inhaltsverzeichnis 1 Einleitung 1 1.1 Von Java

Mehr

Inhaltsverzeichnis Einleitung Imperative Sprachkonzepte Objektorientierte Sprachkonzepte

Inhaltsverzeichnis Einleitung Imperative Sprachkonzepte Objektorientierte Sprachkonzepte Inhaltsverzeichnis 1 Einleitung... 1 1.1 Entwicklungsumgebung... 1 1.2 Vom Quellcode zum ausführbaren Programm... 3 1.3 Erste Beispiele... 4 1.4 Wichtige Merkmale der Programmiersprache Java... 6 1.5 Zielsetzung

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

Das Einsteigerseminar Objektorientierte Programmierung in Java

Das Einsteigerseminar Objektorientierte Programmierung in Java Alexander Niemann Das Einsteigerseminar Objektorientierte Programmierung in Java -H-H Inhalt Vorwort 13 Einleitung 15 1 Java 21 1.1 Die Geschichte von Java 22 1.2 Das Konzept 24 Klassisch - Compiler und

Mehr

Wiederholung aus SWE2

Wiederholung aus SWE2 Wiederholung aus SWE2 Innere Klassen Diverse neue Sprachfeatures bei Java 1.5 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Inhalt Innere Klassen Diverse neue Sprachfeatures bei Java 1.5 Pratikum

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Generics Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Überblick Generics 2 Generische Klassen 3 Generische Methoden 4

Mehr

Einführung in GUI-Programmierung. javax.swing

Einführung in GUI-Programmierung. javax.swing Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt

Mehr

2.1 Visual C Express installieren Visual C Express starten Visual C Express registrieren...

2.1 Visual C Express installieren Visual C Express starten Visual C Express registrieren... Datei: 5220_A02Inhalt.doc, Seite3 15. September 2010 Teil I Erste Schritte 1 Einleitung.... 9 1.1 Was Sie erwartet und was Sie nicht erwartet.... 9 1.2 Wie die Kapitel aufgebaut sind.... 10 1.3 Beispieldateien....

Mehr

Java GUI Entwicklung mit Swing

Java GUI Entwicklung mit Swing Seminarunterlage Version: 5.03 Version 5.03 vom 13. Februar 2014 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Objektorientierte Software-Entwicklung

Objektorientierte Software-Entwicklung Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine

Mehr

II.4.4 Exceptions - 1 -

II.4.4 Exceptions - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.4 Exceptions - 1 - Ausnahmen (Exceptions)

Mehr

Programmiermethodik 3. Klausur Lösung

Programmiermethodik 3. Klausur Lösung Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung

Mehr

Klassendefinition und Objektinstantiierung

Klassendefinition und Objektinstantiierung Klassendefinition und Objektinstantiierung 1.1 Klassen und Objekte Klassen und Objekte bilden die Basis in der objektorientierten Programmierung. Eine Klasse ist eine Ansammlung von Attributen, die Eigenschaften

Mehr

Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt

Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt GUI GUI = Graphical User Interface Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt Gute Übersicht über alle Funktionalitäten

Mehr

SCJP-Sun Certified Java Programmer

SCJP-Sun Certified Java Programmer Terence Gronowski SCJP-Sun Certified Java Programmer mitp \ I, haltsverzeichnis Vorwort 15 Einleitung 17 Deklarationen, Initialisierung und Scoping (Prüfungsziel i) 21 Prüfungsziel i-i 22 i.i.i Grundstruktur

Mehr

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen

Mehr

Java als erste Programmiersprache

Java als erste Programmiersprache Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll Java als erste Programmiersprache Vom Einsteiger zum Profi 5., überarbeitete und erweiterte Auflage Teubner Inhaltsverzeichnis 1 GRUNDBEGRIFFE DER

Mehr

Graphical User Interfaces

Graphical User Interfaces Graphical User Interfaces SEP 184 Toolkits es gibt verschiedene Toolkits (= Sammlungen von Klassen, Anbindungen an Betriebssystem, etc.) für grafische Oberflächen Abstract Windows Toolkit (AWT) Swing Standard

Mehr

Java. Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm

Java. Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm Java Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm R.Oldenbourg Verlag München Wien 1999 1. Einleitung 11 2. Java-Entwicklungsumgebung 15 2.1 JDK

Mehr

Geschachtelte Klassen

Geschachtelte Klassen Geschachtelte Klassen Christian Schamott 1 / 26 Übersicht Gemeinsamkeiten 4 Arten geschachtelte Klassen Elementklasse Lokale Klassen Anonyme Klassen Statisch geschachtelte Klassen Christian Schamott 2

Mehr

Programmieren in Java

Programmieren in Java Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware

Mehr

~±] Inhalt. 1.1 Ähnlichkeiten zwischen C# und Java Unterschiede zwischen C# und Java Das.NET-Framework 4 1.

~±] Inhalt. 1.1 Ähnlichkeiten zwischen C# und Java Unterschiede zwischen C# und Java Das.NET-Framework 4 1. ~±] 1 C# und das.net-framework 1 1.1 Ähnlichkeiten zwischen C# und Java 1 1.2 Unterschiede zwischen C# und Java 2 1.3 Das.NET-Framework 4 1.4 Übungsaufgaben 9 2 Erste Schritte 11 2.1 Hello World 11 2.2

Mehr

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei

Durch die Teil-von-Beziehung soll ausgedrückt werden, dass ein Objekt A als (physikalischer) Teil eines Objekts B angesehen wird. Insbesondere kann ei Lösungsvorschläge zur Klausur zum Kurs 1618 Sommersemester 2001 am 22.9.2001 Aufgabe 1 a) Benutzungsbeziehung: class Kennzeichen class Fahrzeug boolean gueltigeskennzeichen (Kennzeichen kz) Objekte der

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen

Mehr

Informatik II Übung 6

Informatik II Übung 6 Informatik II Übung 6 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 11.4.2018 Carina Fuss 11.4.2018 1 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces,

Mehr

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Das Interface-Konzept am Beispiel der Sprache Java

Das Interface-Konzept am Beispiel der Sprache Java Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse

Mehr

Universität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek

Universität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek 1 Ereignis-orientierte Programmierung Prinzipien Programm besteht aus einer Reihe von Dämonen (=Listener) Dämon (=Listener)

Mehr

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten 1 Einführung... 1 1.1 Was wird vermittelt?... 1 1.2 Hinweise zum Buch... 3 1.3 Hinweise zur Buch-CD... 4 1.4 Hinweise zum Forum... 4 1.5 Allgemeine Hinweise... 5 2 Die Software JGIS... 7 2.1 Start des

Mehr

Ein Vortrag im Rahmen des Wahlpflichtmoduls Fortgeschrittene Programmierung mit JAVA

Ein Vortrag im Rahmen des Wahlpflichtmoduls Fortgeschrittene Programmierung mit JAVA Ein Vortrag im Rahmen des Wahlpflichtmoduls Fortgeschrittene Programmierung mit JAVA Themenspeicher Strukturen objektorientierter Programmierung (Wiederholung) Klassen und Vererbung Schnittstellen und

Mehr

Inhaltsverzeichnis. Teil 1 Grundlagen der Objektorientierung 29

Inhaltsverzeichnis. Teil 1 Grundlagen der Objektorientierung 29 Vorwort von James Gosling, Sun Microsystems 15 Vorwort an Kursleiter 16 Vorwort des Übersetzers 24 Projekte, die in diesem Buch detailliert besprochen werden 25 Danksagungen 27 Teil 1 Grundlagen der Objektorientierung

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 (7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik

Mehr

GUI Programmierung mit JAVA Swing

GUI Programmierung mit JAVA Swing GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische

Mehr

Java-Grundkurs für rtschaftsinformatiker

Java-Grundkurs für rtschaftsinformatiker Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für rtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung- Fortgeschrittene Konzepte kennenlernen Betriebswirtschaftlich orientierte

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.

Mehr

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Grundkurs Programmieren in Java Jens Scheffler, Dietmar Ratz, Jan Wiesenberger, Detlef Seese Band 1: Der Einstieg in Programmierung und Objektorientierung ISBN 3-446-40493-7 Inhaltsverzeichnis Weitere

Mehr

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung

Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung Dietmar Ratz, Jens Scheffler, Detlef Seese, Jan Wiesenberger Grundkurs Programmieren in Java Band 1: Der Einstieg in Programmierung und Objektorientierung ISBN-10: 3-446-41268-9 ISBN-13: 978-3-446-41268-2

Mehr

Übungen zu Middleware Universität Erlangen-Nürnberg Informatik 4, 2007 Z-Java-Exceptions.fm

Übungen zu Middleware Universität Erlangen-Nürnberg Informatik 4, 2007 Z-Java-Exceptions.fm Z.11Fehlerbehandlung Programm beenden (System.exit()) meist eine schlechte Idee Ausgabe einer Fehlermeldung hilft nicht den Fehler zu überwinden spezieller Rückgabewert kennzeichnet Fehler Konstruktoren

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

JLabel. dient zur Textanzeige. können auch Bilder anzeigen: mylabel.seticon( new ImageIcon( C:/Pfad/zum/Bild.jpg )

JLabel. dient zur Textanzeige. können auch Bilder anzeigen: mylabel.seticon( new ImageIcon( C:/Pfad/zum/Bild.jpg ) Swing Komponenten Thomas Wieczorek http://www.wieczo.net/?p=76 Hier trage ich die Komponenten zusammen, die Kreling und Wiedling in ihren Klausuren oft verwendet haben. Bei Verbesserung: Bitte Kommentar

Mehr

Einführung in die Programmierung Blockkurs Java

Einführung in die Programmierung Blockkurs Java Michael Bader 8. 12. April 2002 Mittwoch Inhaltsübersicht Eigene Klassen definieren Vererbung Abstrakte Klassen Schnittstellen Polymorphismus Designbeispiele: Java-AWT Strings in Java Funktionen und Funktionsplotter

Mehr

Einführung in C# Teil 1. Matthias Nübling

Einführung in C# Teil 1. Matthias Nübling Einführung in C# Teil 1 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann

Mehr

Objektorientierte Programmierung in Java

Objektorientierte Programmierung in Java Objektorientierte Programmierung in Java 1. Auflage Taschenbuch. Paperback ISBN 978 3 8266 7414 3 Weitere Fachgebiete > EDV, Informatik > Programmiersprachen: Methoden > Prozedurorientierte Programmierung

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Info B VL 14: Java Collections/Reflections

Info B VL 14: Java Collections/Reflections Info B VL 14: Java Collections/Reflections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 14: Java Collections/Reflections

Mehr

Beispiel: Eine Choice-Liste...

Beispiel: Eine Choice-Liste... Beispiel: Eine Choice-Liste...! "#%$&! ; = '( ) )+**,-. /*0 1 2 ) 3 #%$+45* 6 7%$& -* 89 #6 #:/*0 #%$ < /0 # 1< ) 1< >?270 #@ < /0 # 1 2 ) )

Mehr

Kapitel 8: Grafische Benutzerschnittstellen

Kapitel 8: Grafische Benutzerschnittstellen Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

Einführung in C# Teil 3. Matthias Nübling

Einführung in C# Teil 3. Matthias Nübling Einführung in C# Teil 3 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,

Mehr

Programmiermethodik 2. Klausur Lösung

Programmiermethodik 2. Klausur Lösung Programmiermethodik 2. Klausur Lösung 2. 10. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 18 3 42 4 20 5 20 Gesamt 120 1 Seite 2 von 12 Aufgabe 1) Objekt-Orientierung und Vererbung

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Vorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2

Vorwort zur zweiten Auflage 1. Vorwort zur ersten Auflage 2 Vorwort zur zweiten Auflage 1 Vorwort zur ersten Auflage 2 1 Über dieses Buch 3 1.1 WarumdiesesBuch?... 3 1.2 Voraussetzungen...... 4 1.3 Systematik... 4 1.4 WieliestmandiesesBuch?... 6 1.5 ZugriffaufdieQuellenzudenBeispielen...

Mehr

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren

Mehr

Graphische Oberflächen Teil 1

Graphische Oberflächen Teil 1 Graphische Oberflächen Teil 1 AWT und Swing Grundlegender Aufbau von GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 05: Generics Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 19 Inhalt Generics

Mehr

Klassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object

Klassen als Objekte. Smalltalk vs. Objective-C. Self-Nachrichten an Klassen in Objective-C. Klassen als Objekte. Smalltalk: Everything is an object Smalltalk vs. Objective-C Klassen als Objekte Klassendeklarationen Selektoren als first-class values Objekt-Erzeugung Implementierung: Eigene VM vs. Einbettung in C Smalltalk: Everything is an object Klassen

Mehr

Vorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3

Vorausgesetzte Grundkenntnisse. Inhalt. Klassenhierarchie und Vererbung. Vererbung. Klassenhierarchie und Vererbung. Einführung in C# Teil 3 Vorausgesetzte Grundkenntnisse Einführung in C# Teil 3 Matthias Nübling Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,

Mehr

Prinzip des Exception Handling

Prinzip des Exception Handling Prinzip des Exception Handling geschützter Block p(); catch (Exception e) { System.out.println(e.toString()); void p() throws Exception { throw new Exception(); Auslösen einer Exception Exception Handler

Mehr

Ausnahmen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 27.6.

Ausnahmen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 27.6. Ausnahmen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 27.6.07 G. Bohlender (IANM UNI Karlsruhe) Ausnahmen 27.6.07 1 / 8 Übersicht 1 Einführung

Mehr

Deklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse

Deklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse Innere Klassen in Java Java 1.0: nur top-level Klassen Seit Java Version 1.1: Innere Klassen Deklaration einer Klasse innerhalb einer anderen Klasse Illustration Eigenschaften Vorteile Anwendungsmöglichkeiten

Mehr

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

Mehr

Objektorientierung in Oracle

Objektorientierung in Oracle Seminarunterlage Version: 11.10 Version 11.10 vom 12. September 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr