Revision [297]

Last edited on 2006-04-12 19:50:34 by JensSeiler
Additions:
======Hinzufügen von Diagramm-Komponenten======
Deletions:
<u style="display: none;">... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... Thanks!!! Links: <a href='http://www.areaseo.com'>pagerank main</a> : [http://www.areaseo.com improve pagerank default] - [HTTP://www.areaseo.com improve pagerank default] : [PageRank 11|http://www.areaseo.com] - [PageRank 11|HTTP://www.areaseo.com] : http://www.areaseo.com/improvepr/ : [[http://www.areaseo.com google rank 20]] : [[http://www.areaseo.com | pagerank 5]] : "online pr16" http://www.areaseo.com : [http://www.areaseo.com|google pr] </u><u style="display: none;">... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... Thanks!!! Links: <a href='http://www.dirare.com'>yellow pages main</a> : [http://www.dirare.com business yellowpages] - [HTTP://www.dirare.com business yellowpages] : [international directory|http://www.dirare.com] - [international directory|HTTP://www.dirare.com] : http://www.dirare.com/India/ : [[http://www.dirare.com companies of the world]] : [[http://www.dirare.com | YP national]] : "global directory" http://www.dirare.com : [http://www.dirare.com|online directory] </u>======Hinzufügen von Diagramm-Komponenten======


Revision [293]

Edited on 2006-04-09 05:41:50 by avalon.daad.de [http://www.areaseo.com]
Additions:
<u style="display: none;">... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... Thanks!!! Links: <a href='http://www.areaseo.com'>pagerank main</a> : [http://www.areaseo.com improve pagerank default] - [HTTP://www.areaseo.com improve pagerank default] : [PageRank 11|http://www.areaseo.com] - [PageRank 11|HTTP://www.areaseo.com] : http://www.areaseo.com/improvepr/ : [[http://www.areaseo.com google rank 20]] : [[http://www.areaseo.com | pagerank 5]] : "online pr16" http://www.areaseo.com : [http://www.areaseo.com|google pr] </u><u style="display: none;">... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... Thanks!!! Links: <a href='http://www.dirare.com'>yellow pages main</a> : [http://www.dirare.com business yellowpages] - [HTTP://www.dirare.com business yellowpages] : [international directory|http://www.dirare.com] - [international directory|HTTP://www.dirare.com] : http://www.dirare.com/India/ : [[http://www.dirare.com companies of the world]] : [[http://www.dirare.com | YP national]] : "global directory" http://www.dirare.com : [http://www.dirare.com|online directory] </u>======Hinzufügen von Diagramm-Komponenten======
Deletions:
<u style="display: none;">... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... Thanks!!! Links: <a href='http://www.dirare.com'>yellow pages main</a> : [http://www.dirare.com business yellowpages] - [HTTP://www.dirare.com business yellowpages] : [international directory|http://www.dirare.com] - [international directory|HTTP://www.dirare.com] : http://www.dirare.com/India/ : [[http://www.dirare.com companies of the world]] : [[http://www.dirare.com | YP national]] : "global directory" http://www.dirare.com : [http://www.dirare.com|online directory] </u>======Hinzufügen von Diagramm-Komponenten======


Revision [292]

Edited on 2006-04-09 05:41:33 by avalon.daad.de [http://www.dirare.com]
Additions:
<u style="display: none;">... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... no changes ... Thanks!!! Links: <a href='http://www.dirare.com'>yellow pages main</a> : [http://www.dirare.com business yellowpages] - [HTTP://www.dirare.com business yellowpages] : [international directory|http://www.dirare.com] - [international directory|HTTP://www.dirare.com] : http://www.dirare.com/India/ : [[http://www.dirare.com companies of the world]] : [[http://www.dirare.com | YP national]] : "global directory" http://www.dirare.com : [http://www.dirare.com|online directory] </u>======Hinzufügen von Diagramm-Komponenten======

====Kanten-Andockstellen in Knoten definieren====

In der Klasse ""DiagramNode"" befindet sich folgende Methode, welche für die Definition von Kanten-Andockpunkten benutzt wird. Sollte in von ""DiagramNode"" erbenden Klassen die Methode nicht überschrieben werden, wird standardmäßig die folgende verwendet:

%%(java)
protected void updateEgdeConnectors() {
if (edgeConnectors == null) {
int pointCount = 4;
edgeConnectors = new Point[pointCount];
edgeConnectorOffsets = new Point[pointCount];

for (int i = 0; i < pointCount; i++) {
edgeConnectors[i] = new Point();
edgeConnectorOffsets[i] = new Point();
}
}

edgeConnectors[0].move(getWidth() / 2, getHeight()); // South
edgeConnectorOffsets[0].move(0, -(edgeConnectorSize / 2));
edgeConnectors[1].move(getWidth() / 2, 0); // North
edgeConnectorOffsets[1].move(0, edgeConnectorSize / 2);
edgeConnectors[2].move(0, getHeight() / 2); // West
edgeConnectorOffsets[2].move(edgeConnectorSize / 2, 0);
edgeConnectors[3].move(getWidth(), getHeight() / 2); // East
edgeConnectorOffsets[3].move(-(edgeConnectorSize / 2), 0);
}
%%
Dieser Code erzeugt jeweils eine Andockstelle in der Mitte aller vier Knoten-Seiten.

===Zur Funktionsweise:===
Die für die Andock-Punkte notwendigen Attribute sind die Arrays ""edgeConnectors"" und ""edgeConnectorOffsets"". Die Methode überprüft zunächst, ob die Arrays bereits initialisiert sind, was beim ersten Aufruf nicht der Fall ist. Es wird dann der then-Zweig der if-Bedingung betreten und die Arrays mit der entsprechenden Anzahl von Andock-Punkten initialisiert.

Der zweite Block ist für die Berechnung der Punkte zuständig und wird bei jeder Größenänderung einer Komponente aufgerufen. Die Berechnung der Koordinaten muss bei Komponenten die in ihrer Größe variabel sind unbedingt Bezug auf die Größe der Komponente nehmen, also über die Methoden ""getWidth()"" bzw. ""getHeight()"". Eine Verwendung von fixen Größen würde bei Größenveränderungen zu keinerlei Veränderungen in den Koordinaten der Andockpunkten führen! Entscheidend ist außerdem, dass die einmal angelegten Point-Objekte in den Arrays beibehalten werden und nicht durch neue Objekte ersetzt werden. Demnach ist für eine Zuweisung von neuen Koordinaten die Methode ""Point#move(int x, int y)"" zu benutzen und nicht etwa eine Modifikation mittels '= new Point(x, y)'.

Das **Array ""edgeConnectors""** enthält die Koordinaten der Andockstellen, an denen später die Kanten andocken. Zu beachten ist hier, dass das Koordinaten-System bei (0, 0) beginnt und somit die äußeren Kanten einer Komponente bei ""getWidth() - 1"" bzw. ""getHeight() - 1"" liegen. Weiterhin befindet sich der Ursprung des Java-Koordinatensystems "oben-links", höhere y-Werte sind also "weiter unten". Der Ursprung des Koordinatensystems ist der linke-obere Punkt des Knotens.
Deletions:
======Hinzufügen von Diagramm-Komponenten======

====Kanten-Andockstellen in Knoten definieren====

In der Klasse ""DiagramNode"" befindet sich folgende Methode, welche für die Definition von Kanten-Andockpunkten benutzt wird. Sollte in von ""DiagramNode"" erbenden Klassen die Methode nicht überschrieben werden, wird standardmäßig die folgende verwendet:

%%(java)
protected void updateEgdeConnectors() {
if (edgeConnectors == null) {
int pointCount = 4;
edgeConnectors = new Point[pointCount];
edgeConnectorOffsets = new Point[pointCount];

for (int i = 0; i < pointCount; i++) {
edgeConnectors[i] = new Point();
edgeConnectorOffsets[i] = new Point();
}
}

edgeConnectors[0].move(getWidth() / 2, getHeight()); // South
edgeConnectorOffsets[0].move(0, -(edgeConnectorSize / 2));
edgeConnectors[1].move(getWidth() / 2, 0); // North
edgeConnectorOffsets[1].move(0, edgeConnectorSize / 2);
edgeConnectors[2].move(0, getHeight() / 2); // West
edgeConnectorOffsets[2].move(edgeConnectorSize / 2, 0);
edgeConnectors[3].move(getWidth(), getHeight() / 2); // East
edgeConnectorOffsets[3].move(-(edgeConnectorSize / 2), 0);
}
%%
Dieser Code erzeugt jeweils eine Andockstelle in der Mitte aller vier Knoten-Seiten.

===Zur Funktionsweise:===
Die für die Andock-Punkte notwendigen Attribute sind die Arrays ""edgeConnectors"" und ""edgeConnectorOffsets"". Die Methode überprüft zunächst, ob die Arrays bereits initialisiert sind, was beim ersten Aufruf nicht der Fall ist. Es wird dann der then-Zweig der if-Bedingung betreten und die Arrays mit der entsprechenden Anzahl von Andock-Punkten initialisiert.

Der zweite Block ist für die Berechnung der Punkte zuständig und wird bei jeder Größenänderung einer Komponente aufgerufen. Die Berechnung der Koordinaten muss bei Komponenten die in ihrer Größe variabel sind unbedingt Bezug auf die Größe der Komponente nehmen, also über die Methoden ""getWidth()"" bzw. ""getHeight()"". Eine Verwendung von fixen Größen würde bei Größenveränderungen zu keinerlei Veränderungen in den Koordinaten der Andockpunkten führen! Entscheidend ist außerdem, dass die einmal angelegten Point-Objekte in den Arrays beibehalten werden und nicht durch neue Objekte ersetzt werden. Demnach ist für eine Zuweisung von neuen Koordinaten die Methode ""Point#move(int x, int y)"" zu benutzen und nicht etwa eine Modifikation mittels '= new Point(x, y)'.

Das **Array ""edgeConnectors""** enthält die Koordinaten der Andockstellen, an denen später die Kanten andocken. Zu beachten ist hier, dass das Koordinaten-System bei (0, 0) beginnt und somit die äußeren Kanten einer Komponente bei ""getWidth() - 1"" bzw. ""getHeight() - 1"" liegen. Weiterhin befindet sich der Ursprung des Java-Koordinatensystems "oben-links", höhere y-Werte sind also "weiter unten". Der Ursprung des Koordinatensystems ist der linke-obere Punkt des Knotens.



Revision [161]

The oldest known version of this page was created on 2005-01-10 20:48:16 by JensSeiler [http://www.dirare.com]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki