Das Schreiben und Benutzen von BeanShell Skripten

jPicEdt unterstützt nun Skripte (aka "Makros") durch einen integrierten BeanShell Interpreter. BeanShell ist eine leichtgewichtige, erweiterbare und integrierte Skripterweiterung für Java, geschrieben von Pat Niemeyer (pat@pat.net). Es folgt der Java-Grammatik (jedoch mit höherer Toleranz gegenüber Syntax-Fehlern; im besonderen ist die Typisierung nicht so streng wie bei Java), daher kann jeder mit oberflächlichen Java-Kenntnissen BeanShell-Skripte schreiben.

Eine umfassende Dokumentation der Beanshell gibt es unter: www.beanshell.org. Als guter Anfangspunkt kann ein prüfender Blick in die Skripte dienen, die mit jPicEdt ausgeliefert werden. Für weitere Arbeiten werde Sie aber auch jPicEdt's API Dokumentation brauchen (falls Sie die Dokumentation bisher nicht installiert haben, können Sie sie mit jPicEdt's Installationsprogramm nachinstallieren), das gilt im speziellen, wenn Sie Skripte mit komplexen Operationen schreiben wollen. Die jpicedt.JPicEdt Klasse bietet eine Vielzahl statischer Methoden (z.B. JPicEdt.newBoard()), die grundlegenden Bedürfnisse genügen könnten. Andere wichtige Klassen sind:

Alle diese Klassen sind leicht erweiterbar und können mit anderen verbunden werden (Dank dem bekannten View-Model-Controller Schema...). Außerdem beinhalten jpicedt.JPicEdt und jpicedt.graphic.toolkit.EditorKit eine Auswahl von Aktionen (implementiert als statische Klassen), die Sie in Teilklassen unterteilen können, und anschließend zu Ihrer eigenen grafischen Schnittstelle hinzufügen können. Vgl. dazu die Dokumentation jpicedt.graphic.toolkit.PEAction, dort finden Sie, was eine Aktion ist und wie Sie sie vielleicht in deinem eigenen Code benutzen können.

Der Bequemlichkeit halber wurden einige nützliche Variablen und Methoden vordefiniert; beides ist in der BSH-Konsole vom Start an aufrufbar, das gilt auch für Skripte, die über das Skriptmenü gestartet werden. Im einzelnen sind dies:

OK, wo soll ich meine Skripte ablegen?

Die Skripte des Benutzers müssen im “makros”-Unterverzeichnis des Verzeichnisses für die Benutzer-Einstellungen liegen (zum Beispiel, /home/user/.jpicedt/macros in Unix). Skripte müssen eine “.bsh”-Erweiterung haben. In Namen mit Unterstrichen werden letztere durch Leerstellen im Skriptmenü ersetzt (z.B. “Repeat_copy.bsh” wird gezeigt als “Repeat copy”). Sie könne auch andere Skripte aus einem Skript heraus aufrufen, indem sie den BSH source(path_to_other_script) Befehl benutzen, und ebenso können Sie Ihre eigenen Klassen mit dem addClassPath() Befehlhinzufügen.

Benutzen Sie die BSH Konsole, um Ihre Skripte zu testen. Anschließend legen Sie sie im Skriptverzeichnis ab und sie werden automatisch im Skripte-Menü angezeigt – evtl. ist ein “Skipte neu suchen” erforderlich!