Aufbau
Ich werde hier den Aufbau des Projekts anhand UML-Diagramme darstellen:
Zunächst komme ich zu der GUI-Komponenten - Hirarchie:

SatelliteViewPanel (Vogelperspektive):
Diese Komponente befindet sich zwar im JFrame wird aber vom TabSceneContainer verwaltet.
Die Instanz des Objekts wird im Konstruktor des JFrames dem TabSceneContainer übergeben.
Denn bei jeder Neuauswahl einer Tabpage muss die SatelliteViewPanel (Vogelperspektive) vom
TabSceneContainer aktualisiert werden.
TabSceneContainer :
Diese Komponente erstellt bei einer neuen Tabpage neue Instanzen der Objekte: SceneScrollPanel, VMDCustomView, VMDCustomScene.
Außerdem wird das SatelliteViewPanel kontrolliert.
Zudem bietet die Komponente zwei Events an:
- NEWTAB Hiermit lassen sich neue Tabpages erstellen
- CLOSETAB Hiermit lassen sich Tabpages schließen
Jetzt komme ich zu den VisualComponents:

VMDCustomView:
Die CustomView ist eigendlich das aktive Element, das die Scene aufbaut.
Die View wird verwendet um bei User-Events (Mausklicks) eine Scene aufzubauen, oder
aus serialisierten XML Daten eine Scene zu rekonstruieren (manual mode).
Die View bietet folgendes Event an:
- BUILDKNODE Hier wird ein neuer Knoten erstellt
VMDCustomScene:
Die Scene ist der zentrale Container der Visual Library Objekte.
VMDKnodeCategories:
Diese Klasse sortiert die Unterknoten(Pins) eines VMDObjectWidgets nach Kategorien.
VMDObjectWidget:
Die Hauptknotenobjekte einer VMDCustomScene.
VMDCustomPinWidget:
Die Unterknotenobjekte(Pins) der VMDObjectWidget.
Wichtig: Pins werden in der VMDCustomScene erstellt und die Pins
werden bei den Elternknoten (VMDObjectWidget) registriert.
VMDCustomConWidget:
Dieses Objekt ist zuständig für die Pfeilverbindung zwischen zwei
Knoten.
EdgeLabelWidget:
Hier handelt es sich um die Beschriftung der Pfeile, diese sind
auch Knotenobjekte.





