TUTORIELS 

Présentation de J2ME: Première partie
Par Bruno Delb (Net Innovations)

Java 2 Micro Edition est "le Java de la mobilité", tournant sur les terminaux légers. Présentation par Bruno Delb, de Net Innovations.  (29 janvier 2002)
 

Pages 1 | 2 | 3 | 4



L'interface utilisateur de haut niveau

Cette API est de loin plus riche en classes que l'API de bas niveau. Le premier composant dont nous parlons est la liste déroulante présentant un menu d'options. Les classes correspondantes sont List et ChoiceGroup. Elles implémentent toutes deux l'interface Choice.
La classe TextBox permet à l'utilisateur de saisir du texte. Des contraintes de saisie peuvent être spécifiées.
La classe Alert met en place une alerte. C'est une boîte de dialogue affichant un message textuel, éventuellement accompagné d'une image ou d'un son. Elle permet ainsi d'afficher un avertissement, une erreur, une alarme, … Pendant cet affichage, l'interface utilisateur est désactivée. Si une valeur de timeout a été spécifiée, l'alerte disparaît ensuite automatiquement, sinon l'application attend une action de l'utilisateur.
La classe Form est un formulaire. Il contient un ensemble d'éléments (items en anglais) comme des textes, des listes ou des images. Un Item correspond à un composant de formulaire. Il est accompagné d'un libellé. Un ImageItem affiche une image, un StringItem un texte que l'utilisateur ne peut pas modifier.
La classe Gauge définit une jauge. Cette dernier permet d'afficher un graphique sous forme de barre dont la longueur correspond à une valeur comprise en zéro et un maximum.
DateField définit une zone de date modifiable.
TextField est un champ de texte permettant la saisie de texte. Il est similaire en plusieurs points à TextBox. La différence est que TextBox est une sous-classe de Screen et peut donc être placé directement sur le Display tandis que TextField est une sous-classe de Item et doit donc être placé dans un Form pour être affiché.
Un Ticker est un composant de l'interface utilisateur affichant une ligne de texte défilante à une certaine vitesse.
La dernière classe étudiée est la classe Command. Elle permet de définir une commande, l'équivalent du bouton de commande de Windows. Cette classe intègre des informations sémantiques sur une action. Elle possède trois propriétés : le libellé, le type de commande (exemple : retour, annulation, validation, sortie, aide, …) et le niveau de priorité (qui définit son emplacement et son niveau dans l'arborescence des menus).

La gestion des événements

Un événement de haut niveau est constitué de la source de l'événement et du listener d'événement. Cet événement provient de la source pour arriver au listener qui traite alors cet événement. Pour implémenter un listener, il suffit que la classe l'enregistre auprès du composant duquel vous voulez écouter les événements.
Il existe deux types d'événement : l'événement Screen avec son listener correspondant CommandListener d'une part, l'événement ItemStateChanged avec le listener ItemStateListener d'autre part.
L'une des différences est que la source d'un événement Command peut être tout objet Displayable tandis que la source d'un événement ItemStateChanged ne peut être qu'un objet Form.

CommandListener
Le traitement associé à une action effectuée sur une commande est effectué dans une interface CommandListener. Cette interface définit une méthode, commandAction, qui est appelée si une commande est déclenchée.
Le listener correspondant est mis en place en implémentant l'interface CommandListener. Vous devez alors enregistrer cette dernière avec la méthode setCommandListener (CommandListener myListener).

ItemStateListener
Toute modification interactive de l'état d'un élément de formulaire déclenche un événement itemStateChanged (exemple : modification d'un texte, sélection d'un élément d'une liste, …).
Le listener correspondant est mis en place en implémentant l'interface ItemStateListener. Vous devez alors enregistrer l'objet ItemStateListener auprès d'un formulaire Form avec la méthode setItemStateListener (ItemStateListener myListener).

Pages 1 | 2 | 3 | 4

 
[ Bruno Delb pour JDNet
 
Accueil | Haut de page