# JMRI: Jynstruments

JMRI offre une belle façon d'intégrer des scripts Jython dans l'application Java JMRI en particulier en visant à étendre et à personnaliser l'interface graphique.

Cela s'appelle un Jynstrument. C'est un paquet de code Jython et autres ressources. Le code définit un objet Jython découlant de la Classe Jynstrument Java (elle-même dérivant de JPanel). Cet objet sera instancié par le code instrumenté JMRI lui-même et est ensuite déclenchée par un événement.

Jetez un oeil à la page du dossier Jython dans votre arborescence des sources, il y a un dossier Jynstruments avec un README et un ThrottleFrame/Light.jyn qui doit être essayé sur la fenêtre Régulateur JMRI. L'image à droite les affiche dans une utilisation (les boutons de diamant).
Dans le dossier Jython, vous trouverez également un simple Test.jyn à des fins de tests

Voir ThrottleFrame.java pour savoir comment rendre le code instrumentable; plus de détails sont dans le fichier README.

L'utilisation est assez simple, drag +déposez le dossier Light.jyn sur une Fenêtre Régulateur JMRI (le contenu de la fenêtre elle-même, la barre d'outils est instrumentable aussi, mais n' acceptera pas le Lights.jyn).

Une fois que le Jynstrument est démarré, l'interface sera mise à jour, un menu propriété Jynstrument est accessible par un clic droit sur le Jynstrument ou de ses bords. A partir de ce menu, vous pouvez supprimer Jynstrument, ou afficher sa Sortie.

Voir le contenu de l'Jynstrument lui-même (commentaires dans le fichier .py) pour des informations spécifiques à leur sujet.<

Plusieurs éléments JMRI sont Jynstrumentable aujourd'hui:

- La fenêtre principale JMRI où vous pouvez ajouter des lanceurs. Il y a un script Jython nommé JynstrumentMainFrame.py dans le dossier de script par défaut Jython JMRI qui montre comment charger ces lanceurs à partir d'un Script Jython JMRI ordinaire, alors vous pouvez sélectionner ce script pour être exécuté automatiquement au démarrage de JMRI (depuis les préférences JMRI) afin d'avoir une fenêtre principale JMRI personnalisée comme vous le souhaitez.
- La Fenêtre JMRI Régulateur où vous pouvez ajouter Jynstruments pour enrichir l'expérience de régulateur courant (fonctions spéciales, l'e-stop, les directions ... et même celui qui affiche la vidéo à partir d'un périphérique de capture vidéo, comme une webcam Bluetooth montée sur un train). N'hésitez pas à écrire vos propres fonctions spéciales Jynstruments, c'est ce à quoi Jynstrument est destiné.
- La fenêtres barre d'outils régulateur JMRI qui permet de Jynstruments qui pilote tous les Régulateurs de cette fenêtre (en particulier avec les contrôleurs spéciaux)