Formulaires Look and feel minimal, pris en charge par la JVM Affichage indépendant du terminal.

Documents pareils
Java ME : une présentation. Jean-Marc Farinone

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Manuel d'utilisation de l'administration du site Japo.ch - 1

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

Programmation Web TP1 - HTML

TP SIN Programmation sur androïde Support : eclipse

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

INITIATION AU LANGAGE JAVA

Java DataBaseConnectivity

APPLICATIONS JAVA. 1. JDBC Java Database Connectivity. Applications Web

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Généralités sur le Langage Java et éléments syntaxiques.

Applet pour visualiser les variables «automate» notifiées

GESTION DU LOGO. 1. Comment gérer votre logo? Format de l image Dimensions de l image Taille de l image 9

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

7 S'abonner aux notifications des nouveaux appels

Google Adresses. Validez la fiche de votre entreprise ou organisation sur Google Maps

Pour les caméras IP de modèles : QSTC201 QSTC211. Surveillance à distance via Internet Guide de démarrage

Création du projet : 1 sur 13

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Merci de suivre les indications suivantes afin de créer votre compte membre :

Création de maquette web

Préparation d un post (article) pour idweblogs

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

Héritage presque multiple en Java (1/2)

Création d un service web avec NetBeans 5.5 et SJAS 9

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

PHPWEBSITE -Tutoriel image

Dans ce mémento, vous trouverez les informations détaillées pour configurer les fonctionnalités du Responsive Design dans le Worldsoft CMS:

Développement Logiciel

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TRAFFIC EXPERT. LA SOLUTION INTELLIGENTE POUR LES SYSTEMES DE GESTION DE TRAFFIC L expérience de STERIA à SINGAPOUR. Nabil DJEMAME (Steria)

Initiation à JAVA et à la programmation objet.

GUIDE D UTILISATION PORTAIL INTERNET

Chapitre 10. Les interfaces Comparable et Comparator 1

Corrigé des exercices sur les références

Notice de présentation. La mise à jour de la référence bancaire sous TelePAC

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

Remote Method Invocation (RMI)

Catégories de format d'optimisation

Gestion des différentes tailles d écran

SELENE : Guide d utilisation de l outil de remontée des fichiers de promouvables

Lancez le setup, après une phase de décompression, la fenêtre d installation des prérequis apparaît, il faut les installer :

Utilisation du visualiseur Avermedia

Threads. Threads. USTL routier 1

ACTIVITÉ DE PROGRAMMATION

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Programmation avec des objets : Cours 7. Menu du jour

2 S I M 1 P H O N E G U I D E U T I L I S A T E U R. Guide d utilisation E-commerce / Prestashop

Programme Compte bancaire (code)

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Formation > Développement > Internet > Réseaux > Matériel > Maintenance

Fiche 02. PRODUITS La gestion des mandats. Généralités GESTION SIMPLIFIEE GESTION STANDARD AVEC RELANCES

Manuel du composant CKForms Version 1.3.2

Publication dans le Back Office

G4L (Ghost for Linux) Clonage vers FTP Version: août 2006

Approche Contract First

Partager mes photos sur internet

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Logiciel de facturation (ASP) pour les distributeurs de combustibles

Utilisation d objets : String et ArrayList

Adobe Photoshop. Bonnes pratiques pour une utilisation professionelle CHAPITRE 7

GUIDE POUR PAYER LES COTISATIONS DU ZONTA INTERNATIONAL EN LIGNE

Bienvenue à l historien virtuel 2.0

Programmation Objet Java Correction

TP1 : Initiation à Java et Eclipse

Site Internet de la Ville de Marssac. Comment ouvrir un compte et devenir contributeur PAGE 1

Service pour la Gestion des Gestionnaires d Accès (GGA) Guide Step-by-Step

MODE D EMPLOI DE LA PLATEFORME DE DEPOT DES

Guide d utilisation de la clé mémoire USB

Guide d'utilisation du portail d'authentification Cerbère à usage des professionnels et des particuliers

Machine virtuelle Java pour Palm TX


Tutoriel BLOGGER. Pour vous donner une idée, voici un exemple de blog :

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

La gestion des boîtes aux lettres partagées

Alfstore workflow framework Spécification technique

HA2000 GSM Transmetteur téléphonique

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Guide d installation de Windows Vista /Windows 7

Manuel d'utilisation

Business Sharepoint Contenu

Projet gestion d'objets dupliqués

Langage Java. Classe de première SI

Oracle Learning Library Tutoriel Database 12c Installer le logiciel Oracle Database et créer une Database

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

RMI le langage Java XII-1 JMF

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Diagramme de classes

Chapitre 2. Classes et objets

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Canon Mobile Printing Premiers pas

MODE D EMPLOI DU MODULE D E-COMMERCE

Transcription:

IHM

Présentation MIDP 2.0 fournit deux paquetages pour l interface utilisateur API de haut niveau (indépendante du terminal) javax.microedition.lcdui (interface commune pour écrans LCD) API de bas niveau (dépendante du terminal) javax.microedition.lcdui. game (pour les jeux) 2

IHM API haut niveau Formulaires Look and feel minimal, pris en charge par la JVM Affichage indépendant du terminal. API bas niveau Contrôle précis de l affichage et de la position Très dépendante du terminal 3

La classe Display La classe Display représente l écran d un terminal et permet la gestion de l affichage. Il existe une seule instance de la classe Display par Midlet, la méthode getdisplay() permet de récupérer sa référence public static Display getdisplay(midlet m). L'élément à afficher doit être passé à l'objet Display via la méthode setcurrent public void setcurrent( [Alert alerte,] Displayable prochain_element). La méthode getcurrent permet de récupérer l'objet en cours d'affichage public Displayable getcurrent() Autres méthodes: public boolean iscolor() : retourne "vrai" si le terminal permet l'affichage couleur public int numcolors() : affichage le nombre de couleurs du terminal si iscolor est true ou de nuances de gris si iscolor() est false. 4

La classe Displayable les classes affichables héritent de la classe abstraite Displayable. Méthodes: public int getwidth() : largeur utile de l'écran (en pixels) public int getheight() : hauteur utile de l'écran (en pixels) public boolean isshown() : un objet affichable est-il présent? public void settitle(string title) : définition d'un titre à afficher public String gettitle() : récupération du titre public void setticker(ticker ticker) : définition d'un bandeau défilant à afficher public Ticker getticker() : récupération du bandeau défilant public void addcommand(command cmd) : ajout d'une commande à un élément affichable public void setcommandlistener (CommandListener cl) : définition d'un gestionnaire de commande (remplace un précédent gestionnaire éventuellement) 5

Les classes de haut niveau: Alert Alert : affiche un message pendant un temps limité sur l'écran. Le titre est défini à la création : Alert("Hello!") et ne peut être ensuite changé. le message est défini avec la méthode setstring(<message>). Le temps d'affichage est défini usuellement par défaut. Si on veut le définir, il faut utiliser la méthode settimeout(int time) ; si time vaut Alert.FOREVER, le message sera persistant. Les 5 types de messages d'alerte sont définis par la classe AlertType : ALARM : l'utilisateur est informé d'un événement programmé ; CONFIRMATION : une confirmation est demandée à l'utilisateur ; ERROR : l'utilisateur est informé d'une erreur ; INFO : information de l'utilisateur ; WARNING : avertissement de l'utilisateur. On définit le type d'alerte avec la méthode public void settype(alerttype type) 6

TextBox TextBox(String title, String text, int maxsize, int constraints); setmaxsize(<longueur>) où la longueur est spécifiée en nombre de caractères. Toutefois, le terminal ne peut afficher plus de 32 caractères. Le type de texte à entrer dans le TextBox est spécifié grâce à la classe TextField TextField.EMAILADDR : adresses de messagerie -TextField.UNEDITABLE : texte non éditable -TextField.NUMERIC : seulement des nombres -TextField.PHONENUMBER : numéros de téléphone -TextField.PASSWORD : mot de passe -TextField.URL : adresse URL -TextField.INITIAL_CAPS_WORD : la première lettre de chaque mot soit être en majuscule. -TextField.INITIAL_CAPS_SENTENCE : la première lettre de chaque phrase doit être en majuscule. -TextField.ANY : tout ce qu'on veux 7

List Représente une liste d'éléments (texte et/ou image)avec éventuellement des cases à cocher ou des boutons radio. Une liste peut être créée vide et remplie ensuite par ajout ou insertion ou bien être définie à l'avance et affichée comme telle. Une liste permet d'effectuer des choix (interface Choice) ; le mode de choix peut être Choice.EXCLUSIVE (boutons radio : un seul choix est possible), Choice.MULTIPLE (cases à cocher : plusieurs choix possibles), Choice.IMPLICIT (sélection de l'élément sélectionné comme dans un menu déroulant). 8

Form Un formulaire peut contenir une collection d'instances de la classe Item. Création: Form(String title) Creates a new, empty Form. Form(String title, Item[] items) Creates a new Form with the specified contents. On insère une instance avec la méthode insert(int index, Item newitem) ; on peut aussi modifier une instance par set(int index, Item newitem). Les éléments de formulaire sont au nombre de 8. StringItem : un label (titre et texte) non modifiable - DateField : date sous trois formats : DATE, TIME, DATE_TIME - TextField : comme TextBox - ChoiceGroup : comme List - Spacer : possibilités d'espacement - Gauge : simulation d'une barre de progression - ImageItem : affichage d'une image, bien sûr - CustomItem : définition d'éléments spéciaux 9

Les commandes 10 MIDP comporte, une interface Listener. On considère deux types d'événements: Command ItemStateChanged. L'interface utilisateur de MIDP leur fait correspondre les détecteurs (listeners) CommandListener et ItemStateListener respectivement. Chaque objet de la classe Displayable peut être un déclencheur d'événements de type Command ; les objets de la classe Form seulement peuvent être déclencheurs d'événements du type ItemStateChanged.

Commande Une commande possède les propriétés suivantes: label : texte représentant la commande à exécuter type:entier représentant des événements prédéfinis (Command.BACK, Command.CANCEL, Command.EXIT, Command.HELP, Command.ITEM, Command.OK, Command.SCREEN, Command.STOP). priorite: entier représentant le degré d'importance de la commande (1 reflète la plus propriété la plus élevée). On peut obtenir ces différents propriétés avec les méthodes getcommandtype(), getlabel(), getpriority(). 11

Les commandes Constructeur public Command(String label, int typecommande, int priorite) on peut associer à un élément affichable des objets Command à l'aide de la méthode addcommand(). La méthode setcommandlistener permet d'attacher un écouter à un objet affichable. Le Listener doit implémenter l'interface CommandListener public void commandaction(command commande, Displayable element) où element est la source de l'événement et commande la commande invoquée. 12

Image et jauge La classe Image fournit plusieurs méthodes pour créer ou acquérir des images utilisées dans des MIDlets. Une image peut être de deux types : modifiable (mutable) ou non modifiable (immutable). On reconnaît si une image est modifiable ou non avec la méthode ismutable(). Image img = Image.createImage("labelleimage.png") Il faut noter que les MIDlets emploient des images en format PNG (Portable Network Graphics). Les autres formats (GIF, JPEG) ne sont pas garantis sur tous les portables. 13

Form Un objet de type Form contient une collection de champs de type Item Gestion des champs d'un formulaire insert(int index, Item newitem): pour insérer un champ à une position spécifiée par "index" dans le formualire set(int index, Item newitem): Pour remplacer un champ par un autre append(item i): pour ajouter un champ dans le formulaire. Les éléments de formulaire sont au nombre de 8 : - StringItem : un label (titre et texte) non modifiable - DateField : date sous trois formats : DATE, TIME, DATE_TIME - d'une image, bien sûr - CustomItem :TextField : comme TextBox - ChoiceGroup : comme List - Spacer : possibilités d'espacement - Gauge : simulation d'une barre de progression - Gauge(String label, boolean interactive, int maxvalue, int initialvalue) - Interactive: l utilisateur peut modifier la valeur - - ImageItem : affichage définition d'éléments spéciaux 14

Exemple public Formulaire() { form = new Form("Vos caractéristiques"); chaine = new StringItem("Voici votre code d'accès : ", "alpha123" form.append(chaine); champdate = new DateField("Entrez votre date de naissance : ", Dat //champdate=new DateField(null, DateField.TIME,TimeZone.getTimeZon form.append(champdate); champ = new TextField("Entrez votre nom : ", "", 50, TextField.ANY form.append(champ); choicegroup = new ChoiceGroup("Choisissez votre repas : ", Choice form.append(choicegroup); espace = new Spacer(20,10); // espace entre les items form.append(espace); jauge = new Gauge("QI de 1 à 5", true, 5, 1); form.append(jauge); try { image = new ImageItem("UPJV : ", Image.createImage("/logoUPJV form.append(image); } catch(exception e) {} 15