
MicroWidgets est une librairies qui permet d'avoir des composants graphiques pour MIDP sur lesquels le programmeur peut controler le look&feel.
En effet, les spécifications MIDP indiquent que c'est l'implémentation de la machine virtuelle qui prend en charge l'aspect visuel. Il y a donc autant de rendus que de plate-formes (Palm, iPaq, téléphone cellulaire, ...), et la plupart du temps l'aspect se restreint à une présentation en noir et blanc assez pauvre.
Avec cette librairie, vous pouvez contrôler l'aspect des composants graphiques afin de fournir une interface plus conviviale.
Points clés:
- Contrôle total du rendu: Vous pouvez contrôler toutes les couleurs, le positionnement des composants, et bien plus...
- Pleinement compatible MIDP 1.0: Vous n'avez pas besoin d'une machine virtuelle spéciale.
- Compact: Utiliser cette librairie ne rajoute qu'environ 50-60k à votre midlet.
- Rapide à apprendre: Suite les standards habituels sur les composants et la gestion d'événement.
- Facile à utiliser: Interfaces simples, javadoc entièrement documenté avec des examples, ce site Web détaillé.
- Fiable: Le module de tests unitaires permet de tester toutes les fonctionnalités des classes à chaque version publiée.
- Gratuit: La licence LGPL vous permet d'utiliser et d'intégrer cette librairie à vos produits sans charges d'aucune sorte.
Voici un exemple visuel sur un téléphone cellulaire:
Standard MIDP Avec cette librairie
Composants implémentés:
- Button pour des boutons avec un texte, une image, ou vide (juste la bordure en relief).
- CheckBox pour les cases à cocher inclusives.
- DigitTextField pour les champs de saisie d'un nombre entier positif ou nul.
- ExclusiveChoice pour les choix exclusifs (sous forme de cases à cocher exclusives, ou d'un champ avec des valeurs défilantes).
- Hyperlink pour un hyperlien.
- ImageItem pour une image décorative.
- Slider pour un réglage de valeur numérique (sous la forme d'une glissière graphique, ou d'un champ avec boutons d'incrémentation/décrémentation).
- String pour du texte décoratif.
- TextField pour un champ de saisie standard.
Attention: Dû aux limitations de l'API MIDP actuelle, le champ de saisie n'accepte pas les caractères accentués ou les caractères spéciaux. En fait, cela dépend de la façon dont la machine virtuelle implémente la méthode Canvas.keyPressed(int keyCode) et des valeurs de keyCode que cette methode est capable de détecter et renvoyer.
Ce problème est le point faible de cette librairie. Si vous avez besoin d'un champ de saisie qui gère tous les caractères, vous devrez pour l'instant utiliser la classe MIDP standard javax.microedition.lcdui.TextField sans pouvoir controler son apparence, et ceci dans un conteneur standard javax.microedition.lcdui.Form.
Conteneurs implémentés:
- XYPanel permet de disposer les composants directement avec leurs coordonnées.
- RowPanel gère le placement des composants dans le sens de la lecture (de gauche à droite puis de haut en bas).
- ActionListener pour les action (Button, CheckBox, Hyperlink).
- ContainerListener pour l'ajout et la suppression de composants (XYPanel et RowPanel).
- FocusListener pour l'acquisition ou la perte de focus (Tous les composants).
- ItemListener pour la visibilité des composants (Tous les composants).
- ValueChangeListener pour les changements de valeurs (DigitTextField, ExclusiveChoice, Slider, TextField).
Les informations suivantes sont disponibles sur ce site Web:
- La documentation détaillée sur cette librairie.
- Un module pour les tests unitaires de tous les composants.
- Téléchargement et liens relatifs à ce projet.
MicroWidgets est distribué sous une "GNU Lesser General Public License".