kramann.info
© Guido Kramann

Login: Passwort:










Informatik3
1 Vom_struct_zur_Klasse
..1.1 Vom_struct_zur_Klasse
..1.2 struct_Programm
..1.3 Klassen_Programm
..1.4 Offene_Fragen
..1.5 Historie
..1.6 Objektabstraktion
..1.7 OO_Kundenverwaltung
..1.8 Objektfaehigkeiten
..1.9 Formatierung
..1.10 Motivation
..1.11 Uebung1
..1.12 Uebung2
2 UML
..2.1 Volumenberechnung
..2.2 UML_Klassendiagramm
..2.3 Konstruktor
..2.4 Statische_Variable
3 Strings
..3.1 Klassenbibliotheken
..3.2 stringUML
..3.3 Uebung3
4 Initialisierungen
4 bluej
5 Zeiger_und_Arrays
..5.1 Zeiger
..5.2 Zeiger_und_Funktion
..5.3 Uebung4
6 Vererbung
..6.1 MesswerteUML
..6.2 MesswerteProgramm
..6.3 VererbungsProgramm
..6.4 Vector
..6.5 Uebung
7 Modifikatoren
..7.1 public_Vererbung
..7.2 protected_Vererbung
8 Listen_und_Templates
..8.1 Containertypen
....8.1.1 ListeUML
....8.1.2 ListeProgramm
..8.2 Templates
....8.2.1 Listentemplate
....8.2.2 STLvectorTemplate
..8.3 Uebung5
..8.4 Uebung6
..8.5 Uebung7
9 Java
..9.1 Uebung
..9.2 GettingStarted
..9.3 Animation
..9.4 Hybrid
..9.5 Threads
10 Delegation
11 LayoutProjekt
12 Fenster
13 Uebung
14 Zwischenprojekt
..14.1 Befehle
..14.2 Planung
..14.3 JNI
..14.4 JNIumsetzen
..14.5 Anwendungsklasse
..14.6 GUI01
..14.7 GUI02
15 Rasterlayout
..15.1 Bilder_Packages
..15.2 interfaces
..15.3 ArrayList
..15.4 clone
..15.5 Uebung
16 Nuetzliches
..16.1 Threads
..16.2 Animation
..16.3 RungeKutta
..16.4 Loesungsansatz
..16.5 Internetprogrammierung
....16.5.1 Codegenerierung
....16.5.2 PHP_Programmierung
....16.5.3 PHP_OOP
....16.5.4 Java
17 Algorithmen
..17.1 RungeKutta
..17.2 Loesungsansatz
..17.3 Evoopt
..17.4 Uebung12
..17.5 Uebung8_2014
..17.6 Ausdruecke
18 Uebung10
19 UML_ALT
..19.1 Flaechenberechnung
..19.2 UML_Flaechenberechnung
..19.3 Implementierung
..19.4 ListeUML
..19.5 ListenImplementierung
..19.6 Anwendung
kramann.info
© Guido Kramann

Login: Passwort:




Übung zu Rasterlayout

(EN google-translate)

(PL google-translate)

Aufgabe 1
  • Schreiben Sie die C++ Klasse Zylinder aus Kapitel 2.3 in Java um.
  • Ergänzen Sie eine clone() -Methode.
  • Schreiben Sie eine main-Methode, um die Klasse zu testen.
Aufgabe 2
  • Schreiben Sie eine ähnliche Java-Klasse wie Zylinder, die aber einen Würfel repräsentiert.
  • Entwickeln Sie nun ein Interface "Koerper" mit der Methode berechneVolumen(), die von beiden Klassen (Zylinder und Würfel) implementiert wird.
  • Schreiben Sie nun eine Klasse "Hauptklasse" mit einer main-Methode, in der ein ArrayList-Objekt zur Aufnahme von Objekten, die die Schnittstelle "Koerper" implementieren bereit gestellt wird.
  • Speichern Sie in der ArrayList gemischt einige Objekte sowohl vom Typ Zylinder, als auch vom Typ Wuerfel.
  • Gehen Sie die in ArrayList gespeicherten Objekte in einer Schleife durch und bestimmen Sie das Gesamtvolumen aller in ihr gespeicherter Objekte.

Nehmen Sie für die folgenden Aufgaben den Entwicklungsstand rl007_bauteil_chooser.zip zur Grundlage (s. vorangegangenes Unterkapitel).

Aufgabe 3
  • Ergänzen Sie ein neues Bauteil "Widerstand2", bei dem der Widerstand um ein Rastermaß kürzer ist.
  • Implementieren Sie in passender Weise ein Bauteil "Kondensator".
Aufgabe 4

Erweitern Sie die Interaktionsmöglichkeiten über die Tastatur:

  • Über die Entfernen-Taste soll das zuletzt auf das Raster gebrachte Bauteil wieder gelöscht werden können.
  • Über die Tab-Taste soll es möglich sein ein anderes als das letzte Bauteil in der ArrayList bauteile zu fokussieren und dieses zu löschen.
  • Mit der Tab-Taste geht man dabei durch die ArrayList bauteile durch.
  • Zeigen Sie zunächst in der Konsole an, welches Bauteil gerade aktiv ist.
  • Implementieren Sie dann Highlighting des aktuell fokussierten Bauteils. Hierzu muss bei Bauteile die grundsätzliche Möglichkeit implementiert wirden, die aktuelle Farbe der Umrisslienien zu ändern.
Aufgabe 5

Aufbauend auf Aufgabe 3 soll nun ermöglicht werden die Beschriftung des aktuell fokussierten Bauteils zu ändern, bzw. überhaupt zu setzen.

  • Bei Betätigen der Einfügen-Taste soll temporär an der Stelle, an der sich das fokussierte Bauteil befindet ein JTextField-Objekt entstehen, in das die Beschriftung eingegeben werden kann.
  • Ein O.K.-Button darunter soll die Eingabe abschliessen.

Erzeugen Sie die beiden Elemente JTextField und JButton dazu genau einmal, aber setzen Sie diese unsichtbar. Über setBounds(..) und setVisible(..) lassen sie sich dann positionieren und sichtbar machen.