Académique Documents
Professionnel Documents
Culture Documents
Interfaces utilisateur
10/11/2006
10/11/2006
<<abstract>>
Displayable
Screen
Alert
Form
List
TextBox
10/11/2006
Il y en a trois :
Canvas GameCanvas Graphics
10/11/2006
La classe Display
Permet :
dobtenir des informations sur les proprits daffichage de lappareil. (support de la couleur, niveaux alpha, ) de demander laffichage dobjets lcran ou accder aux objets affichs.
10/11/2006
Un exemple complet
import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; public class HelloWorldApp extends MIDlet { Alert helloAlert; public HelloWorldApp() { helloAlert = new Alert("Hello world !"); } public void startApp() {
Display.getDisplay(this).setCurrent(helloAlert);
} public void pauseApp() { } public void destroyApp(boolean unconditional) { } }
8 Formation ITIN / Universit de Cergy-Pontoise 10/11/2006
Analyse de lexemple
On utilise la mthode statique getDisplay(MIDlet midlet) de la classe Display pour obtenir lobjet Display unique chaque MIDlet
Interfaces utilisateur
10/11/2006
Screen
Base pour tous les crans de haut niveau Proprits communes pour tous ces crans :
ticker titre
11
10/11/2006
Alertes
Messages lintention de lutilisateur Les alertes sont soit
Limites en temps (affich pendant un certains laps de temps fix en ms) Modales (Visibles tant quune action utilisateur na pas t ralise)
On peut lui associer un son, une image ou un indicateur de progression Leur affichage exact dpend de limplmentation choisie par le constructeur
12
10/11/2006
Alertes
13
10/11/2006
Listes
Slection dlments (textes et/ou images) dans une liste de choix Les listes sont soit
MULTIPLE EXCLUSIVE IMPLICIT slection multiple slection simple slection simple et confirmation
14
10/11/2006
Listes implicites
Peut servir de menu
combine slection et confirmation la slection dun lment lance un vnement Lobjet Command vaut la constante SELECT_COMMAND
15
10/11/2006
Quelques mthodes
16
10/11/2006
String[] elements = { ... }; // Elments du menu List menuList = new List("Menu", List.IMPLICIT, elements, null);
Command selectCommand = new Command("Open", Command.ITEM, 1); menuList.setSelectCommand(selectCommand); menuList.setCommandListener(...); public void commandAction(Command c, Displayable d) { if (c == uneCommande) { } else if (c == List.SELECT_COMMAND) { } }
17
10/11/2006
Formulaires
Peuvent contenir tous les lments qui hritent de la classe Item. Disposition en ranges de tailles gales. Scrollbars gres automatiquement.
18
10/11/2006
19
10/11/2006
Item.HYPERLINK Item.BUTTON
20
10/11/2006
21
10/11/2006
22
10/11/2006
23
10/11/2006
24
10/11/2006
Utilis pour positionner plus justement les autres lments (quivalant au pixel transparent sur les anciennes pages web)
25
10/11/2006
TextBox
Screen qui permet dentrer et dditer du texte
26
10/11/2006
Interfaces utilisateur
10/11/2006
La classe Canvas
Elle est abstraite, il faut ltendre pour raliser un affichage. Il faut ensuite surcharger la mthode paint(Graphics g) La classe Graphics fournit des possibilits de rendu 2D Possibilit de grer les appuis sur les touches ou dutiliser des commandes.
28
10/11/2006
Exemple
class ExempleCanvas extends Canvas { // Il faut redefinir la mthode paint public void paint(Graphics g) { // Dessine un rectangle blanc pour fond g.setColor(0xFFFFFF); g.fillRect(0, 0, getWidth(), getHeight()); // Fixe la couleur noir g.setColor(0x000000); // Dessine un carr de 20x20 g.drawRect( getWidth()/2 - 10, getHeight()/2 - 10, 20, 20); } }
29
10/11/2006
Interfaces utilisateur
Interaction utilisateur
10/11/2006
Interaction utilisateur
Un objet Command est lquivalent dun bouton ou dun menu item dans une application standard. Lobjet Command ne peut tre associ quaux objets qui hritent de Displayable.
31
10/11/2006
La classe Command
32
10/11/2006
Interaction utilisateur
Les classes qui implmentent linterface CommandListener ralisent des actions dclenches par lactivation dun objet Command Cette interface contient une mthode :
commandAction(Command c, Diplayable d)
33
10/11/2006
Interaction utilisateur
// Cration de quelques commandes form.addCommand( new Command("EXIT", Command.EXIT, 2)); form.addCommand( new Command("OK", Command.OK, 1)); // Fixe cette classe comme listener form.setCommandListener(this); // Code excut en cas daction utilisateur public void commandAction( Command command, Displayable dis) { String label = command.getLabel(); if ("EXIT".equals(label)) notifyDestroyed(); else if ("HELP".equals(label)) displayHelp(); else if("OK".equals(label)) processForm(); }
34
10/11/2006
Interfaces utilisateur
10/11/2006
La classe CustomItem
Pour crer un lment dinteraction personnalis :
Sous-classer CustomItem Implmenter les 5 mthodes
protected int getPrefContentWidth(int height) protected int getPrefContentHeight(int width) protected int getMinContentWidth() protected int getMinContentHeight() protected void paint(Graphics g, int w, int h)
36
10/11/2006
Exemple
37
10/11/2006
Exemple (suite)
38
10/11/2006
39
10/11/2006
Interfaces utilisateur
Outils de conception
10/11/2006
Netbeans et la cration dinterfaces Netbeans propose des assistants de cration dinterfaces utilisateur. Pour cela, il suffit de crer une Visual Midlet
41
10/11/2006
Outils de conception
Squence dcrans
42 Formation ITIN / Universit de Cergy-Pontoise 10/11/2006
Exemple
43
10/11/2006
Interfaces utilisateur
J2ME Polish
10/11/2006
J2ME Polish
45
10/11/2006