Um existierende Kommandos in einer Benutzeroberfläche anzubieten, werden sie mit Aktionen verknüpft.[23] Zur Präsentation der Aktionen werden diese wiederum in Menü- und Symbolleistenstrukturen zusammengefasst. Die jadice document platform bietet zwei unterschiedliche Möglichkeiten an um diese Strukturen aufzubauen. Auf beide wird im Folgenden eingegangen.

Um auf den aktuellen Zustand des Programms mit einer angepassten Struktur reagieren zu können, erlaubt die jadice document platform an unterschiedlichen Stellen die dynamische Definition von Menü- und Symbolleisteneinträgen. Besonders nützlich ist dies für Kontextmenüs, deren Inhalt von der Position abhängt, an welcher sich die Maus zum Zeitpunkt des Öffnens befindet. Dynamische Strukturen können überall dort angeboten werden, wo das Interface MenuContributor realisiert wird. Im Besonderen sind alle Tools auch gleichzeitig MenuContributor.[25]

Das Interface definiert eine Methode MenuContributor.contribute(ContributionContext context, MenuBuilder menuBuilder). Diese wird immer dann aufgerufen, wenn die entsprechende Struktur (Menü oder Symbolleiste) zur Anzeige gebracht werden soll. Aufgabe des Implementierenden ist es, der Struktur Einträge in Form von Actions hinzuzufügen. Um einen Eintrag aufzunehmen, muss er dem mitgelieferen MenuBuilder übergeben werden. Auch Substrukturen können auf diesem Weg definiert werden.

Um entscheiden zu können, welche Actions dynamisch hinzugefügt werden sollen, werden entsprechende Informationen benötigt. Diese werden durch das beim Methodenaufruf mitgelieferte Objekt des Typs ContributionContext angeboten. Neben dem eingetretenen Swing Event wird der jadice Context zur Verfügung gestellt. Außerdem liegen Informationen darüber vor, um welche Art von Struktur es sich handelt, zu der ein Beitrag geleistet werden kann.



[23] Details zu Kommandos gibt „Kommandos (Command)“. Nähere Informationen zu Aktionen finden sich unter „Aktionen (CommandAction)“.

[24] Details zum Aufbau der verwendeten Konfigurationsdateien gibt Anhang A, Actions & Commands: Syntaxbeschreibung der Konfigurationsdateien.

[25] Nähere Informationen zu Tools gibt „Tools“.

[jadice document platform Version 5.4.2.13: Dokumentation für Entwickler. Veröffentlicht: 2020-04-08]
loading table of contents...