PROJET JAVA
SKETCHY VIEW 1.0
Le sujet proposé était
la réalisation d'un viewer d'images type ACDSee Windows en Java...
Visuellement, le viewer ACDSee est
un browser d'images classique, composé d'un explorateur de fichiers,
un cadre contenant la préview de l'image courante,
et une barre de menus avec des icones.
L'interface graphique de
notre SketchyView est à peu de choses près un clone de celle
d'ACDSee, les éléments dont elle est composée sont
les suivants:
- Une barre de menu au nord, avec
des boutons contenant des icones, dont le détail sera indiqué
plus loin (options de SketchyView).
- Un TextField en dessous, c'est
à dire un chemin modifiable très simplement, contenant le
nom complet du répertoire courant que l'on veut visiter, ou le nom
de l'URL courante dans le cas ou l'on est connectes.
- Un "explorer", c'est
à dire une liste complète des fichiers et répertoires
du chemin courant, ausquels nous avons ajouté des icones en fonction
de leur type. On peut bien sûr grâce à cet explorer
se ballader très simplement dans la hiérarchie des répertoires.
- A droite de l'explorer, une "préview"
de l'image est visible, c'est à dire que si l'utilisateur de l'explorer
est sur un fichier image, il peut la visualiser en taille réduite.
- Un indicateur du nombre de fichiers
et répertoires courants en bas du viewer. Ce label nous permet egalement
de specifier les eventuels messages d'erreurs ou de manipulations.
VISUALISATION TYPE EXPLORER
L'utilisation de l'explorer est classique,
les touches up/down permettent de se déplacer, la touche ENTER de
sélectionner un élément , on peut ainsi changer de
répertoire,
si le fichier est une image, celle-ci est affichée
dans sa taille réelle dans une nouvelle frame, aucune action si
le fichier n'est pas une image.
La souris est bien sûr utilisée également,
un double-click remplaçant la touche ENTER.
Dans le JTextField (Current File :), il suffit d'indiquer
un chemin complet et de presser ENTER pour y accéder.
Bien sûr, si on tente d'entrer par l'explorer ou le
JTextField dans un répertoire inaccessible ou inexistant, SketchyView
indique "Invalid Path" dans les indications en bas.
La barre de menus de SketchyView contient
les options suivantes :
- Un selectionneur de visualisation : Lorsque le viewer
est lancé, on est en visualisation "Explorer", c'est à
dire en explorateur classique, avec tous les fichiers et répertoires
listés, et un icone pour chaque en fonction de leur type. Si on
passe, grâce à cette option, en mode "Thumbnailer",
seuls les répertoires et les fichiers images sont listés,
et de plus les icones sont remplacés par l'image réelle (en
taille configurable - bouton options). Ce mode permet de n'explorer que
les images, le thumbnailer garde de plus l'aspect des images, leur hauteur
est modifiable, mais leur largeur s'adapte à celle-ci. On a donc
une visualisation correcte des images. On peut bien sûr passer
d'"Explorer" à "Thumbnailer" par le même
bouton à volonté.
VISULISATION TYPE THUMBNAILER
- Un bouton "URL" : pour charger le contenu d'une
URL, on tape celle-ci dans le dialog poppé par le bouton et on charge
son contenu dans l'explorer de SketchyView. Si l'URL n'existe pas
ou si une erreur se produit, SketchyView l'indique dans le label du bas.
Une fois connectes, le le textfield permet de changer d'URL (les repertoires
sont visibles mais non accessibles par ENTER ou double-click comme pour
un explorateur classique, on peut utiliser le textfield pour cela...).
Pour quitter le mode connectes et revenir au repertoire courant, on utilise
a nouveau le bouton URL.
CONNECTION A UNE URL
- Un bouton "View", qui permet l'ouverture d'une
nouvelle fenêtre de visualisation de l'image, dans sa taille réelle.
ce bouton n'est utilisable que si l'utilisateur est sur un fichier image!
OUVERTURE D'UNE IMAGE
- Trois boutons de traitement des fichiers:
.Un "Make directory" pour créer un nouveau répertoire,
on tape son nom et ENTER dans le dialog et on ajoute ainsi le nouveau répertoire.
.Un "Delete
File" pour effacer le fichier courant (image ou non), avec une confirmation
de suppression.
. Un "Rename File" (image ou non), on tape le nouveau nom du
fichier et ENTER.
- Un bouton "Options" qui permet de changer la
taille des images du thumbnailer, ainsi que le temps de defilement du slideshow.
Pour lancer le slideshow, la touche 's' est utilisee, la touche 'q' permet
de quitter SketchyView.
- Une option "Refresh" pour réafficher
l'explorer en cas de bug, (on ne sait jamais, la perfection n'est pas de
ce monde, surtout avec Philip qui programme!!!)
- Un bouton help qui lance la doc (en anglais s'il vous
plait! Meuh oui!!!).
- Un bouton "Info" pour des informations générales
sur SketchyView.
PROBLEMES EVENTUELS
Le temps de chargement des images peut parfois etre tres
lent, surtout si on accede a un reperoire contenant beaucoup de fichiers
images, de tailles consequentes, nous avons eu pas mal de problemes de
memoire (OutOfMemoryErrors) que nous n'avons pas pu gerer ... Le probleme
est d'autant plus consequent lors des connections a des url, il faut parfois
attendre un bon moment avant d'avoir le chargement du contenu dans notre
explorer...
On aurait aime ajouter une barre de progression afin de
specifier le chargement en cours mais le temps ne nous a pas permis de
terminer ce detail ...
SOURCES - JAVADOC
Les sources sont disponibles, le fichier
comprésse sketchyView.tar.gz contient tout le projet. Il faut ensuite compiler
les .java .... Ou bien utiliser le fichier compresse sketchyView.jar et lancer
java -cp sketchyView.jar Viewer
(Viewer.java etant la classe principale
de notre viewer)
Sources
javadoc
Novembre 1999 ...