Partie 3 Interface Utilisateur High Level.Pdf
Mémoires Gratuits : Partie 3 Interface Utilisateur High Level.Pdf. Rechercher de 53 000+ Dissertation Gratuites et Mémoiresateur peut éditer la date, le temps, ou tous les deux. Les constructeurs pour DateField sont comme suit :
public DateField(String label, int mode) public DateField(String label, int mode, TimeZone timeZone)
6/39
Le composant DateField
7/39
Le composant Gauge
Un composant Gauge est une barre de défilement. Le constructeur Gauge : public Gauge(String label, boolean interactive, int maxValue, int initialValue) Il y a 2 types de Gauge: interactive and non interactive.
8/39
Exemple 1 : Gauge interactive
Si vous appuyez sur la commande select , le niveau de gauge sera modifié
9/39
Exemple 1 : Correction
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class GaugeStringItem extends MIDlet implements CommandListener { private Display display; private Form fmMain; private Command cmExit; private Command cmSelect; private Gauge gaVolume; private StringItem msg; public void startApp() { display = Display.getDisplay(this); gaVolume = new Gauge("Sound Level", true, 10, 0); msg = new StringItem("The current sound level is : ", "0"); cmExit = new Command("Exit", Command.EXIT, 1); cmSelect = new Command("Select", Command.ITEM, 1);
10/39
Exemple 1 : Correction suite
fmMain = new Form(""); fmMain.addCommand(cmExit); fmMain.addCommand(cmSelect); fmMain.append(gaVolume); fmMain.append(msg); fmMain.setCommandListener(this); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable s) { if (c == cmExit) { notifyDestroyed(); } else if (c == cmSelect) { msg.setText(""+gaVolume.getValue()); } }
}
11/39
Le composant ChoiceGroup
Le composant ChoiceGroup est similaire à une List.
Il permet à un utilisateur de choisir parmi une liste prédéfinie.
Il y a 3 ChoiceGroup formats: EXCLUSIVE et MULTIPLE et POPUP.
12/39
Le composant ChoiceGroup
Les constructeurs sont :
ChoiceGroup (String label, int choiceType) Crée un nouveau ChoiceGroup vide spécifiant son titre et son type.
ChoiceGroup (String label, int choiceType, String[] stringElements, Image[] imageElements) Crée un nouveau ChoiceGroup, spécifiant son titre, le type du ChoiceGroup, et un choix de tableau de String et d'images à employer en tant que son contenu initial. Les méthodes pour obtenir le choix de l’utilisateur sont : getSelectedIndex(), getString(int elementNum) isSelected(int elementNum)
13/39
Exemple 2 : Formulaire
14/39
Correction Exemple 2
public class TextFieldChoiceGroupTest extends MIDlet implements CommandListener { private Display display; private Form fmMain; private Command cmExit; private Command cmOK; private TextField tfName; private TextField tfPwd; private ChoiceGroup cgGender; private ChoiceGroup cgPrefs; public void startApp( ){ display = Display.getDisplay(this); tfName = new TextField("Name:", "", 20, TextField.ANY); tfPwd = new TextField("Password:", "", 8, TextField.PASSWORD); String items[] = {"M", "F"}; cgGender = new ChoiceGroup("Gender", Choice.POPUP,items, null);
15/39
Correction Exemple 2 suite
cgPrefs = new ChoiceGroup("Preferences",Choice.MULTIPLE); cgPrefs.append("Soccer", null); cgPrefs.append("Tennis", null); cgPrefs.append("Swimming", null); cmExit = new Command("Exit", Command.EXIT, 1); cmOK = new Command("OK", Command.ITEM,2); fmMain = new Form(""); fmMain.append(tfName); fmMain.append(tfPwd); fmMain.append(cgGender); fmMain.append(cgPrefs); fmMain.addCommand(cmExit); fmMain.addCommand(cmOK); fmMain.setCommandListener(this);
} public void pauseApp() { } public void destroyApp(boolean unconditional) { }
16/39
Correction Exemple 2 suite
public void commandAction(Command c, Displayable s) { if (c == cmOK) { System.out.println("Your profile:"); System.out.println(" tfName - " + tfName.getString()); System.out.println(" tfPwd - " + tfPwd.getString()); System.out.println(" gender - " + (cgGender.getSelectedIndex()==0?"M":"F")); System.out.println(" perference - "); for (int i=0; i<cgPrefs.size(); i++) { if (cgPrefs.isSelected(i)) System.out.println(" " + cgPrefs.getString(i)); } } else if (c == cmExit) { notifyDestroyed(); } } }
17/39
Le compsant Spacer
Spacer est un composant non-visible qui facilite le positionnement d'autres articles sur l'affichage Vous pouvez employer des Spacers pour fournir l'espace blanc vertical et horizontal entre les composants, simplement en spécifiant la largeur et la taille de chacun. Le constructeur est : public Spacer(int minWidth, int minHeight)
18/39
Le compsant Spacer
Ajouter des Spacers à l’exemple précédent : fmMain = new Form(""); fmMain.append(tfName); fmMain.append(new Spacer(20, 20)); fmMain.append(tfPwd); fmMain.append(new Spacer(20, 20)); fmMain.append(cgGender); fmMain.append(new Spacer(20, 20)); fmMain.append(cgPrefs); fmMain.addCommand(cmExit); fmMain.addCommand(cmOK); fmMain.setCommandListener(this);
19/39
Les layouts
Permet la configuration de l'emplacement des différents objets graphiques. Pour appliquer le Layout à un composant il suffit d’appeler la méthode :
public void SetLayout (int layout)
Les différents Layouts sont : Horizontal Values: LAYOUT_LEFT,LAYOUT_RIGHT,LAYOUT_CENTER Vertical Values: LAYOUT_TOP, LAYOUT_BOTTOM,LAYOUT_VCENTER
20/39
Les layouts
Permet la configuration de l'emplacement des différents objets graphiques. Pour appliquer le Layout à un composant il suffit d’appeler la méthode :
public void SetLayout (int layout)
Les différents Layouts sont : Horizontal Values: LAYOUT_LEFT,LAYOUT_RIGHT,LAYOUT_CENTER Vertical Values: LAYOUT_TOP, LAYOUT_BOTTOM,LAYOUT_VCENTER
21/39
Exemple 3 : Les layouts
import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class ExempleLayout extends MIDlet { Display disp=Display.getDisplay(this); TextField nom=new TextField("nom", null, 10, TextField.ANY); Form f=new Form("Acceuil"); public void startApp() { nom.setLayout(Item.LAYOUT_CENTER); f.append(nom); disp.setCurrentItem(nom); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } }
22/39
Exemple 3 : Les layouts
import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class ExempleLayout extends MIDlet { Display disp=Display.getDisplay(this); TextField nom=new TextField("nom", null, 10, TextField.ANY); Form f=new Form("Acceuil"); Spacer sp=new Spacer(100, 100); public void startApp() { f.append(sp); nom.setLayout(Item.LAYOUT_CENTER); f.append(nom); disp.setCurrentItem(nom); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } }
23/39
Exemple 3 : Les layouts
import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class ExempleLayout extends MIDlet { Display disp=Display.getDisplay(this); TextField nom=new TextField("nom", null, 10, TextField.ANY); TextField prenom=new TextField("prenom", null, 10, TextField.ANY); Form f=new Form("Acceuil"); Spacer sp=new Spacer(100, 100); public void startApp() { f.append(sp); nom.setLayout(Item.LAYOUT_CENTER); prenom.setLayout(Item.LAYOUT_CENTER); f.append(nom); f.append(prenom); disp.setCurrentItem(nom); } public void pauseApp() { } public void destroyApp(boolean unconditional) { }}
24/39
Size Item
Pour modifier la taille d’un Item , on utilise
...