• Keine Ergebnisse gefunden

Dr. Johannes Mayer Abteilung Angewandte Informationsverarbeitung 10. Juni 2005

N/A
N/A
Protected

Academic year: 2021

Aktie "Dr. Johannes Mayer Abteilung Angewandte Informationsverarbeitung 10. Juni 2005"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Dr. Johannes Mayer Abteilung Angewandte Informationsverarbeitung 10. Juni 2005

Hans Braxmeier Blatt 6

Ralph Guderlei

A

Design und Architektur von Softwaresystemen (SS 2005)

Abgabetermin: 17. Juni 2005

1 GridBagLayout (3 Punkte)

Befassen Sie sich mit dem java.awt.GridBagLayout und verwenden Sie es, um folgendes Layout zu erzeugen:

Bei Vergr¨oßerung oder Verkleinerung des Fensters wachsen/schrumpfen die einzelnen Elemente (Buttons) entsprechend.

Erstellen sie ein Java-Swing-Programm unter Verwendung von GridBagLayout und Buttons, das dieses Layout erzeugt. Erkl¨aren Sie Ihrem Tutor die Klasse GridBagLayout und die Klasse GridBagConstraint.

2 ZigZagLayout (3 Punkte)

Implementieren Sie nun einen eigenen Layout-Manager, der die Buttons auf die selbe Weise wie in der ersten Aufgabe anordnet – im Zick-Zack abwechselnd in der ersten und zweiten Zeile.

Ihr Layout-Manger namens ZigZagLayout soll mit dem Programm TestZigZag.java verwen- det werden k¨onnen und das erwartete Resultat produzieren.

3 TableLayout (4 Punkte)

Implementieren Sie nun noch einen etwas sinnvolleren eigenen Layout-Manager names Table- Layout, bei dem man die Aufteilung des freien Platzes f¨ur die Spalten und Zeilen ¨uber Stretch- Faktoren einstellen kann. Der Standard-Stretch-Faktor ist 0. Der verf¨ugbare freie Platz wird

proportional zu den Stretch-Faktoren der Zeilen und Spalten verteilt. Ansonsten werden die Komponenten analog zum GridLayout von links oben nach rechts unten angeordnet, wobei bei Konstruktor nur die Spaltenanzahl angegeben werden muss.

Das Beispielprogramm TestTable.java soll mit Ihrem Layout-Manager TableLayout lauff¨ahig sein und folgendes Ergebnis produzieren:

Hinweise: Zur Implementierung der beiden Layout-Manager k¨onnen Sie ja GridBagLayout verwenden. Man muss das Rad ja nicht zum x-ten Mal neu erfinden. ;-)

Die Methode public void addLayoutComponent(String name, Component comp) und die Methode public void removeLayoutComponent(Component comp) m¨ussen Sie nicht implemen- tieren. Sie k¨onnen eine UnsupportedOperationException werfen. Bei public void addLayoutCom- ponent(Component comp, Object constraints) m¨ussen Sie die Komponente dem GridBagLayout- Manager hinzu f¨ugen.

4 Layout-Manager-Wettbewerb (10 Zusatzpunkte)

Da der GridBagLayout-Manager in seiner Verwendung nervt, w¨are ein Layout-Manager so ¨ahn- lich wie TableLayout, aber mit deutlich mehr Funktionalit¨at doch viel praktischer zu verwenden.

Implementieren Sie ein erweitertes TableLayout, bei dem man alle Einstellungen von Grid- BadLayout global, f¨ur Zeilen und Spalten und f¨ur Zellen machen kann. Lokalere Einstellungen haben Vorrang vor globaleren (d. h. Zelle vor Zeile/Spalte etc.). Außerdem soll man Kompo- nenten auch ¨uber mehrere Zellen positionieren k¨onnen. Freie Tabellen-Felder sollen ebenfalls m¨oglich sein.

Die besten Layout-Manager (in Bezug auf Funktionalit¨at und Design) werden auf der Vor- lesungshomepage pr¨asentiert. Außerdem winken bis zu 10 attraktive Zusatzpunkte.

Viel Erfolg!

Referenzen

ÄHNLICHE DOKUMENTE

(b) Erweitern Sie Ihr Programm so, dass die Größe (in Bytes) aller darin enthaltenen regu- lären Dateien ausgelesen werden und eine Häufigkeitsverteilung über die Anfangszif-

Unser find soll als Programmoptionen eine beliebige Zahl von Bedingungen (auch: Prä- dikaten), gefolgt von einer beliebigen Zahl von Verzeichnissen entgegennehmen und alle Dateien

derzeitiges Hoechstgebot (Frank Reich um 10:25:55): 3.12 Euro Gebot (in Cent) eingeben oder <ENTER> fuer Aktualisierung: 517 Gebot liegt nicht ueber aktuellem

Gesamtkosten = Fixkosten der Abteilung + Verdienst der Angestellten + Zus¨atzlich er- brachte Leistungen ( ¨ Uberstunden der Angestellten * halber Stundenlohn). • Abteilung

Ziel des Spiels 4-Gewinnt ist es, als erster von zwei Spielern vier Steine in einer Reihe, einer Spalte oder in einer Diagonalen zu bekommen. Dazu werfen die Spieler jeweils

M¨ochte ein Spieler gegen einen anderen Spieler antreten und es gibt bereits wartende Spieler, so werden diese angezeigt und der Spieler kann sich einen Gegenspieler aussuchen –

• Wird die Frage falsch beantwortet, ist das Spiel vorbei und der Kandidat erh¨alt 0, 500 oder 16000 Euro (je nachdem ob er gerade eine der ersten, der mittleren oder der

In der Methode generateHtml() wird dann ¨uber alle Komponenten iteriert um diese anschließend in tabellarischer Form auszugeben. Die Anzahl der Spalten kann ¨uber den