Ja, nun ist nur noch die Frage des Layouts offen,
das ist die Frage sechs hier mit dem Layout-Manager.
Dazu gehen wir gleich zur Folie 33, wo darüber was gesagt wird.
Was machen also die Layout-Manager, das ist gleich die Antwort auf die Frage,
sie ordnen die an Layout, der heißt irgendwie hinlegen oder sowas.
Manch einer von ihnen kann das bitte mal im Wikipedia nachschauen, was das genau heißt.
Also jedenfalls, wir werden die Anordnung machen. Und wie sieht das denn aus,
dass die Ränder gleichmäßig sind, dass die von den Proportionen sind,
die Abstände, wie man das möchte, die Layout-Manager können natürlich das nicht schön machen,
aber sie können es so machen, wie wir wollen.
Das heißt, für das Schönen sind sie zuständig oder sie haben noch jemanden,
der für die Grafik ist, aber sie können die Anordnung zueinander machen.
Also das, wenn das Fenster vergrößert, verkleinert wird,
was von denen soll mitwachsen,
was soll eine Minimalgröße haben, es bringt vielleicht nichts,
wenn man in der Tabelle die Spalten ganz schmal macht,
dann ist es vielleicht besser, dass man in den Spalten,
dass man die Großlästen dann scrollt.
Solche Sachen, dass diese Entscheidung, was passiert hier,
das macht man mit dem Layout-Manager
So, und damit kann man auch erreichen,
dass man auf einem großen, auf einem kleinen Bildschirm,
mit einem kleinen geschrubbenen Fenster trotzdem noch eine halbwegs sinnvolle Darstellung hat.
Für diese verschiedenen Container gibt es erstmal jeweils einen Layout-Manager und
es gibt eine Default-Einstellung. Ja, also wir hatten vorhin
schon mal so ein Bild mit J. Frame,
Label Panel und nochmal Panel.
Und hier gibt es für jedes Ding einen Layout-Manager,
also das Border Layout gibt es hier,
das GridLayout oder das Flow Layout
Diese Layout-Manager sind natürlich auch wieder Klassen,
die haben Einstellungen und das Standard-Layout kann man da anschauen.
Ja, man kann auch natürlich eigene Layout-Klassen schreiben,
aber für den Staat reicht erstmal die Vorgefertigten.
Schauen wir uns die mal an, wir hatten eben schon gerade Border-Layout gesehen,
da gibt es also irgendwie so, dass man ringsherum Kanten hat. Flow-Layout,
dass man Sachen nebeneinander hat, indem man auch verschieben kann, Kritt,
sagt schon, dass Gitter ist hier dabei, Cutten,
die sind dann so ein bisschen hintereinander geordnet oder back,
das ist eine Menge, also eine Menge von Dingen,
die hier kastenförmig angeordnet sind.
Das sind verschiedene Layoutmanager. Man sollte hier von dieser Folie
können sie erst mal wissen, welche es gibt,
was die grundsätzlich machen und wie sie es genau einstellen,
das müssten sie dann bitte nachlesen.
Wir schauen uns noch was an, also das Flow-Layout,
schau mal an, wie sich das Nachlesen an. Und zwar ist dieses,
wir hatten ja eben hier das Bild gesehen, ja,
es gibt also so in einer Zeile die Sachen so nebeneinander und da braucht man ebenfalls einen Umbruch.
Ja, Umbruch heißt ja,
ich schiebe das Ende einer Zeile nach vorn,
wenn die Zeile zu kurz ist für den Inhalt
und das könnte man hier irgendwie auch machen
So man kann steuern, wie die Komponenten und die Option
Abstände zur Umgebung zueinander sind. Also hier unten ist ein Beispiel,
wenn Sie das dann breiterziehen oder schmaler ziehen,
können Sie entscheiden, was davon wird denn wächst denn mit,
wie sind die Abstände oder sowas.
Grundsätzlich sollte man versuchen, ein paar grundsätzliche einheitliche Regeln in
so einem Projekt zu machen.
Wir reden aber heute in der Software, Softwareentwicklungsveranstaltung nicht darüber,
wie ein gutes Layout aussieht,
sondern nur,
wie sie
das gute Layout umsetzen
Wir kümmern uns darum, wenn wir über den Wurfsregeln reden,
sagen wir nicht, was ist schön oder wie macht man das nutzerverständlich?
Dafür gibt es die Leute, die sich mit User Interface beschäftigen.
Wir beschäftigen uns damit, wie die Struktur der Software aussieht.
Und da kommen wir wieder zur Sprache, dass sie im Werkzeug,
das Werkzeug aus zwei Klassen besteht aus der Werkzeugklasse in der User in der Faceklasse.
Und diese User in der Faceklasse, das ist gemäß
unserer Entwurfsregeln, die, die das Layout erzeugt.
Ja, und diese Widgets sind sozusagen deswegen da mit drin
und die kümmert sich darum. So,
wir schauen uns das mal an oder es gibt Nee,
Outs in anderen Frameworks natürlich auch, diese Lehrout-Problematik gibt es immer.
Und ich hatte, als wir über die verschiedenen Frameworks ganz am Anfang gesprochen haben,
gesagt, Java FX hat den Anspruch eigentlich der Nachfolger zu sein.
Schauen wir uns kurz zu Java FX mal was an.
Ja, also hier sehen Sie,
es gibt hier auch so ein Grid Pain, ja,
also wo man solche Angaben macht.
Man kann hier etwas nachladen mit einer XML-Darstellung Anfang und Ende
von Grid Bain und wir sehen hier einen Button.
Und dann hat er hier eine bevorzugte Breite und in welchem,
wo in dem Pain ist er
denn untergebracht
Halt ein Label, wo in Pain ist,
denn das Label untergebracht. Diese Darstellung wird dann umgesetzt,
hier steht deklarativ auf der Folie,
also das ist keine Anweisung, mache erstens das,
zweitens das, drittens das, sondern mache es so.
Diese deklarative Ausdrucksweise kennen Sie zum Beispiel von SQL für Datenbanken,
da steht auch nur Flüge etwas hinzu und ich mache das genau so und so.
Also deklarativ hat immer zum Vorteil,
dass man sich nicht drum kümmern muss in der Sprache,
wie es passieren soll.
So,
damit kommen wir auch zum Schluss
Worüber haben wir gesprochen? Wir haben darüber gesprochen,
dass AGT und Zwing da was sind.
Wir haben darüber gesprochen, wie die Gui-Komponenten aussehen,
die wir entzwingen, zur Verfügung haben. Wir haben gesehen,
dass Listener wichtig sind und Ereignisse und dass wir für die Listener auch,
da steht es, auf dieser Folie nicht,
aber dass wir die Landtags ganz super verwenden können,
damit jedes Mal immer mal was Verschiedenes machen können und die Kommunikation gut läuft.
Und zum Schluss mit dem Layout beschäftigt.
Die Frage 6 ging ja darum, wie funktioniert das?
Also wir haben einen Standard-Layout-Manager für jedes von diesen Fenstern
Und wir können auch eigene schreiben.
Und eben darin, wie machen wir die ganzen Angaben.
So, jetzt schauen wir uns noch zur Frage. Sieben,
das nochmal an das Zusammenwirken der Werkzeugklassen für die Verarbeitung von Nutzerinteraktionen.
Dazu hatten wir auf verschiedenen Folien was gesagt. Wir fangen
mal an, hier auf der Folie 14. Da war etwas zugesagt,
wie das mit dem Werkzeugklassen und nur Einklassen funktioniert.
Die Werkzeugklasse hat letztlich die Vermittel zwischen grafischer Schnittstelle
ein bisschen später hören wir dann, ja,
das geht genau um diese Lisner und die Ereignisse weitergeben
Wie hängen die Klassen zusammen? Die Werkzeugklasse erzeugt die User
in der Festklasse und die User-Interface-Klasse hat nimmt diese Komponenten für das Layout.
Und die Anordnung. Dann gab es auf der Folie 32
noch was dazu, nämlich wie diese Ereignissverarbeitung aussieht.
Ja, die Werkzeugklasse reagiert auf diese Ereignisse und die Werkzeugklasse
kümmert sich um die Kommunikation mit Material und Fachwert. Ja,
die User in der Festklasse hat dann die Schnittstelle dazu und
das war auf Folie 38 war noch was dazu,
nämlich wie diese, dass das Layout von der User-Interface-Klasse gemacht wird über die Litch ist.
Damit sind wir am Ende. Vielen Dank für die Aufmerksamkeit