Mit der jadice document platform ist es möglich, PageSegments nach eigenen Wünschen zu
gestalten, und diese anschließend in Dokumente einzubinden. Mit dem
ContentsCreatorPageSegment ist es es möglich, Formen die auf
java.awt.Shape basieren sowie Textelemente auf dem so
erzeugten Seitensegment zu platzieren.
Die Erzeugung eines ContentsCreatorPageSegments erfolgt mit Hilfe eines
ContentsCreatorPageSegmentBuilders. Dieser implementiert ein
Builder-Pattern, so dass Elemente über die add-Methoden des Builders
nacheinander eingefügt werden können. Die Darstellung der eingefügten
Elemente wird mit ContentsCreatorControls kontrolliert, die für jedes
eingefügte Element definiert werden können. Mit dem Schließen des Builders
wird ein neues PageSegment erzeugt. Eine Änderung des Builders oder der
enthaltenen Elemente ist anschließend nicht mehr möglich.
Hinzufügen von Elementen und ContentsCreatorControls
Elemente, die im PageSegment enthalten sein sollen, werden über die
add-Methoden des Builders hinzugefügt. Hierbei werden als Parameter
erwartet:
-
das Element das eingefügt werden soll.
-
ein
ContentsCreatorControls-Objekt, das die Eigenschaften definiert, mit denen das Element dargestellt werden soll.
Objekte der Klasse ContentsCreatorControls sind Wrapper-Objekte, die
Eigenschaften, mit denen ein Element im ContentsCreatorPageSegment
dargestellt wird, bündeln. In den Controls ist höchstens je ein Objekt einer
Implementierung der ContentsCreatorSettings enthalten. Um die in einem
Controls-Objekt enthaltenen Settings zu manipulieren, können diese aus dem
Controls-Objekt abgerufen und anschließend über die im zurückgegebenen
Objekt verfügbaren Methoden manipuliert werden. Ist dabei bereits ein Objekt
der angefragten Klasse enthalten, wird dieses zurückgegeben. Ist noch kein
Objekt der angefragten Klasse enthalten, wird ein neues erzeugt, in den
Controls registriert und dieses neue Objekt zurückgeben. Ebenso ist es
möglich, bereits beinhaltete Settings komplett zu entfernen.[46]
Verfügbare ContentsCreatorSettings
Folgende ContentsCreatorSettings-Implementierungen zur Manipulation der
einzufügenden Elemente stehen zur Verfügung:
ContentsCreatorColorSettings-
Die
ContentsCreatorColorSettingsenthalten die stroking- und nonStroking-Farben für das hinzuzufügende Element. Diese Settings sind für alle Elemente relevant.[47] ContentsCreatorTransformationSettings-
ContentsCreatorTransformationSettingsenthalten die Transformation, die auf das einzufügende Element angewendet wird. Nach dem Erzeugen ist als Transformation die Einheitstransformation festgelegt. ContentsCreatorTextSettings-
In den
ContentsCreatorTextSettingswerden Schriftart und Schriftgröße des hinzuzufügenden Texts gesetzt. Diese Einstellungen sind nur für Texte relevant. ContentsCreatorDrawModeSettings-
Die
ContentsCreatorDrawModeSettingsdefinieren, welche Teile einer Form gezeichnet werden (Draw Mode) und welcherjava.awt.Strokefür das Zeichnen des Rahmens verwendet werden soll. Folgende Optionen sind verfügbar:- DRAW
-
Zeichnet nur den Umriss des Objekts.
- FILL
-
Zeichnet nur die Flächen des Objekts.
- DRAW_AND_FILL
-
Zeichnet Umriss und Fläche des Objekts.
Die Settings-Klassen arbeiten, sofern nicht anders angegeben, mit JadiceDocumentUnits. Eine JadiceDocumentUnit entspricht 1/7200 Zoll[48].
[46] Dieses Pattern wird in „Processing Controls und Settings“ näher erläutert.
[47] Die Stroking-Farbe eines Objekts ist die Farbe, in der der Pfad dargestellt wird, der ein Objekt beschreibt, beispielsweise der Umriss eines Rechtecks. Die Non-Stroking-Farbe ist die Farbe, in der die zu füllenden Flächen eines Elements dargestellt werden sollen, beispielsweise die innere Fläche eines Rechtecks.

