O p i k a n o b a . o r g

[c o n t e n u ]

Intro

Tutorial

  - prog Find

  - 100% Java

  - 50/50 Java/Jython

  - 100% Jython

Tester Java

Exemples

Liste

Expérimentation

Voici un programme simple qui, décliné en plusieurs étapes permet de parcourir les possibilités d'utilisation du couple java/python. L'objet du programme est de retrouver des fichiers dans une arborescence, en utilisant les expressions régulières pour spécifier les noms de fichier.

Le moteur de recherche de ces fichiers est écrit en python, et cela pour :

  • la faciliter d'écriture
  • bénéficier de la puissance des expressions régulières, module fournit dans la distribution python

Par exemple, pour trouver les fichiers python contenant dans le nom 'mllib' et étant suffixés par 'py' ou 'pyc' contenus dans le répertoire lib de la distribution python, en utilisant l'interpréteur python :

Python 2.0 (#2, Oct 30 2000, 14:29:42) 
[GCC 2.8.1] on sunos5
Type "copyright", "credits" or "license" for more information.
>>> import pyFind
>>> finder=pyFind.FileFind()
>>> finder.setPath("/users/public_w3p/share/python/Python-2.0/lib")
>>> finder.setExprFile("[/].*?mllib[.](py|pyc)$")
>>> finder.process()
>>> for elem in finder.getFoundFiles():
...     print elem
... 
/users/public_w3p/share/python/Python-2.0/lib/python2.0/htmllib.py
/users/public_w3p/share/python/Python-2.0/lib/python2.0/sgmllib.py
/users/public_w3p/share/python/Python-2.0/lib/python2.0/xmllib.py
/users/public_w3p/share/python/Python-2.0/lib/python2.0/htmllib.pyc
/users/public_w3p/share/python/Python-2.0/lib/python2.0/sgmllib.pyc
/users/public_w3p/share/python/Python-2.0/lib/python2.0/xmllib.pyc
/users/public_w3p/share/python/Python-2.0/lib/python2.0/test/test_xmllib.py
/users/public_w3p/share/python/Python-2.0/lib/python2.0/test/test_xmllib.pyc
>>> 

  

Une couche graphique

Pour rendre le moteur de recherche disponible de façon plus conviviale, une interface graphique est rajoutée. Pour cela, l'utilisation de Jython permet d'utiliser

  • un composant python existant
  • les librairies Java/Swing existantes

Jython sert alors de liant entre ces différentes technologies.

find

En plus de la présentation graphique, on peut rajouter la possibilité d'exécuter une action en double-cliquant sur un élément de la ul (classiquement une action d'édition ou de suppression).

Il y a trois (au moins) façons de réaliser ce programme. Les trois étapes décrites par la suite représentent une évolution du même programme depuis une approche 100% Java jusqu'à l'approche 100% Jython.

Pour chaque étape, le composant de recherche python décrit plus haut est utilisé, et :

étape 1
100% du GUI en Java
étape 2
les composants graphiques adaptés de swing en Java, le modèle de données en Java, l'application graphique en Jython
étape 3
100% du GUI en Jython
Cette page en version : brut  |  Imprimable