Mit der jadice document platform ist es möglich, PageSegment
s 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 ContentsCreatorPageSegment
s erfolgt mit Hilfe eines
ContentsCreatorPageSegmentBuilder
s. 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
ContentsCreatorColorSettings
enthalten die stroking- und nonStroking-Farben für das hinzuzufügende Element. Diese Settings sind für alle Elemente relevant.[47] ContentsCreatorTransformationSettings
-
ContentsCreatorTransformationSettings
enthalten die Transformation, die auf das einzufügende Element angewendet wird. Nach dem Erzeugen ist als Transformation die Einheitstransformation festgelegt. ContentsCreatorTextSettings
-
In den
ContentsCreatorTextSettings
werden Schriftart und Schriftgröße des hinzuzufügenden Texts gesetzt. Diese Einstellungen sind nur für Texte relevant. ContentsCreatorDrawModeSettings
-
Die
ContentsCreatorDrawModeSettings
definieren, welche Teile einer Form gezeichnet werden (Draw Mode) und welcherjava.awt.Stroke
fü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.