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

15.5 Übung zu Rasterlayout

15.5 Exercise on grid layout (EN google-translate)

15.5 Ćwiczenie na układzie siatki (PL google-translate)

Aufgabe 1
Task 1
Zadanie 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
exercise 2
Zadanie 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).

Base the development status rl007_bauteil_chooser.zip on the following tasks (see previous subchapter).

Oprzyj status rozwoju rl007_bauteil_chooser.zip na następujących zadaniach (patrz poprzedni podrozdział).

Aufgabe 3
Task 3
Zadanie 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
Task 4
Zadanie 4

Erweitern Sie die Interaktionsmöglichkeiten über die Tastatur:

Extend the interaction possibilities via the keyboard:

Rozszerz możliwości interakcji za pomocą klawiatury:

  • Ü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
Task 5
Zadanie 5

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

Based on task 3, it should now be possible to change the label of the currently focused component, or to set it at all.

W oparciu o zadanie 3 powinna teraz istnieć możliwość zmiany etykiety aktualnie aktywnego składnika lub ustawienia go w ogóle.

  • 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.

Create the two elements JTextField and JButton exactly once, but set Make them invisible. You can then position and visualize using setBounds (..) and setVisible (..).

Utwórz dwa elementy JTextField i JButton dokładnie jeden raz, ale ustaw Spraw, by były niewidoczne. Następnie można pozycjonować i wizualizować za pomocą setBounds (..) i setVisible (..).