chapitre4 cours de java

Download Chapitre4 cours de java

Post on 14-Apr-2017

645 views

Category:

Software

0 download

Embed Size (px)

TRANSCRIPT

  • Langage JAVAPof: R. EL AYACHIDpartement dinformatiqueFacult des Sciences et TechniquesBni Mellal*

  • Chapitre 4: Interfaces graphiquesPackage java.awtPossibilits de java.awtPrincipales classes de java.awtComposants de linterface graphiquesGestionnaires de mise en pageConteneursEvnements et actions Package javax.swingPossibilits de javax.swingPaquetages de javax.swingPrincipaux composants de javax.swingPrincipaux conteneurs de javax.swingElments dcoratifs

    Prof: R. EL AYACHI*

  • * En java, il existe plusieurs paquetages ddis au graphisme, les plus utiliss sont: java.awt (Abstract Windowing Toolkit) fournit au programmeur toutes les classes ncessaires la gestion du graphisme. javax.swing offre beaucoup plus de composants que le paquetage java.awt . Il permet de raliser de vritables interfaces homme-machine. * Principes de base de awt et swing: Crer un cadre Crer des composants Utiliser une mise en page pour ces composants Insrer les composants dans un cadre Utiliser des mthodes en rponse aux actions de lutilisateursIntroductionProf: R. EL AYACHI*

  • Chapitre 4Prof: R. EL AYACHI*Package java.awt

  • Avec java.awt, on peut par exemple: Tracer diffrentes formes (rectangles, ovales,) Dfinir des polices des caractres, des couleurs Crer des composants simples tels que boutons, cases cocher, libells, Crer des composants plus complexes tels que boites de dialogue, menu droulants, Grer des vnements des utilisateurs (clique sur un bouton, )1. Possibilits de java.awtProf: R. EL AYACHI*

  • 1. Classe GraphicsLa classe java.awt.Graphics comporte un nombre important de mthodes permettant de tracer des formes gomtriques vides ou pleines.Parmi les mthodes, on trouve:- drawLine(int x1,int y1,int x2,int y2)- drawString(String texte,int x,int y)- drawRectangle(int x,int y,int larg,int haut)- fillRectangle(int x,int y,int larg,int haut)- drawOval(int x,int y, int larg,int haut)- fillOval(int x,int y, int larg,int haut)- drawPolygon(xpoints,ypoints,points)- fillPolygon(xpoints,ypoints,points)

    2. Principales classes de java.awtProf: R. EL AYACHI*

  • 2. Classe ColorLa classe java.awt.Color permet la gestion de couleurs en java. Les couleurs peuvent tre spcifies de plusieurs manires:- Noms standards prdfinis (black, blue, red, orange, green, ):Color.nom_couleur - Trois nombres entre 0 et 255 (trois couleurs RGB):Color macouleur=new Color(150,200,250)- Trois nombres floats entre 0.0 et 1.0:Color macouleur=new Color(1.0f,0.5f,0.7f)Remarques:- La mthode setColor() de java.awt.Graphics : Afficher un texte ou un graphique dans une couleur spcifique.- La mthode setBackground(): Dfinir la couleur de larrire plan 2. Principales classes de java.awtProf: R. EL AYACHI*

  • 3. Classe FontLaffichage dun caractre est dfinit par trois lments:- Nom de la police: Times Roman, Courier, Helvetica, - Style de la police: gras, italique ou normal- Taille de la police en pointsPour afficher un texte dans une police dfinie, avec un style dfini et une taille prcise, on doit dclarer un objet Font contenant ces informations. Le constructeur de la classe Font est:Font(String nom,int style,int taille)Le style peut tre lune des constantes: Font.PLAIN, Font.BOLD, Font.ITALICRemarque: La mthode getFontList() de java.awt.Toolkit affiche la liste des polices2. Principales classes de java.awtProf: R. EL AYACHI*

  • Tracer les formes gomtriques suivantes:Exercice1Prof: R. EL AYACHI*

  • En java, les lments de linterface utilisateur sont des composants. Cest--dire des objets drivant de la classe java.awt.Component. Chaque type dobjet de linterface graphique (bouton, texte, case cocher, ) est une classe drive de Component.La classe java.awt.Container, qui hrite de Component est capable de contenir plusieurs objets de la classe Component. Par exemple un objet de la classe Container peut contenir 2 boutons, 2 cases cocher, Pour utiliser des composants tels que des zones de saisie et des boutons dans un programme java, il faut crer un objet composant et lajouter laide de la mthode add() de la classe java.awt.Component.3. Composants de linterface graphiqueProf: R. EL AYACHI*

  • 1. BoutonsLes boutons sont les contrleurs de tout cran dinterface, ils permettent de dclencher des vnements que lon peut dtecter et traiter.Java permet dutiliser les boutons dune manire simple et efficace. La classe java.awt.Button dclare des constructeurs et des mthodes appropries.Pour utiliser un bouton, il faut dabord le crer en instanciant la classe Button puis lajouter linterface laide de la mthode add().Prof: R. EL AYACHI*3. Composants de linterface graphique

  • Prof: R. EL AYACHI*Code source de lapplet://Fichier: DemoBouton.javaimport java.applet.*;import java.awt.*;public class DemoBouton extends Applet{ Button monBouton1; Button monBouton2; public void int() { monBouton1=new Button(); monBouton2=new Button(); monBouton1.setLabel(bouton 1); monBouton2.setLabel(bouton 2); add(monBouton1); add(monBouton2); }}Code source du fichier HTML: Exemple de bouton 3. Composants de linterface graphique

  • 2. EtiquettesUne tiquette (label) est une chaine de caractres qui ne dpasse pas une ligne et qui permet dafficher un texte qui nest pas interactif.Une tiquette peut tre positionne avec les fonctions de mise en page. Son rle consiste donner des informations sur les autres contrles, notamment les zones de saisie.Pour accder une tiquette, il faut dabord dclarer un objet de la classe java.awt.Label.Label etq=new Labet(Je suis une tiquette);add(etq);On peut modifier le texte dun label en appelant la mthode setText(): etq.setText(Le nouveau texte);Prof: R. EL AYACHI*3. Composants de linterface graphique

  • Prof: R. EL AYACHI*import java.awt.*;class DemoLabel extends Frame{ Label monEtiquette; DemoLabel(String titre) {super(titre);monEtiquette = new Label(Une tiquette);add(monEtiquette); } public static void main(String[] argv) { DemoLabel monLabel = new DemoLabel(Affichage Etiquette); monLabel.setSize(400,400); monLabet.setVisible(true); }}3. Composants de linterface graphique

  • 3. Botes de dialoguesa. Cases cocherUn composant Checkbox est une case place ct dune ligne de texte et qui peut tre coche par lutilisateur.Chaque case cocher (Checkbox) reprsente un tat boolen, vrai ou faux selon quelle est coche ou non.Pour grer les cases cocher, on utilise la classe java.awt.Checkbox Checkbox cb = new Checkbox(); // crer une case cocher Checkbox cb = new Checkbox(String); // crer une case cocher et afficher le texte en argument ct de la caseEtat dune case cocher: cb.setState(booleen); //true si active, false sinonbooleen etat=cb.getState(); //true si active, false sinoncb.getState(); //retourne la chane de caractres correspondant ltiquette de la case cocher

    Prof: R. EL AYACHI*3. Composants de linterface graphique

  • Pour savoir si une action a t dclenche par lutilisateur (pression dun bouton, coche dune case,), il faut redfinir la mthode: public booleen action(Event e,Object arg).La mthode action est appele automatiquement traite les vnements survenus pendant lexcution de lapplication ou lapplet. Lobjet arg retourne le nom du bouton actionn, ou de la case coche,

    Prof: R. EL AYACHI*3. Composants de linterface graphique

  • Prof: R. EL AYACHI*import java.awt.*;public class DemoCheckbox extends Frame{ static booleen etat=true; Checkbox test; DemoCheckbox(String titre) {super(titre);FlowLayout fl=new FlowLayout(); //gestionnaire de la mise en pagesetLayout(fl);test=new Checkbox(TEST);add(test); } public booleen action(Event e,Object arg) {if(test.getState()) {etat=true; repaint();}else {etat=false; repaint();}retunr (true); } Public void paint() {g.setColor(Color.red);g.setFont(Helevetica,Font.BOLD,20);if(etat==true) g.drawString(Case active,50,300);else g.drawString(Case dsactive,50,300);

    } public static void main(String[] arg) {DemoCheckbox maCase=new Checkbox(Case cocher);maCase.setSize(400,400);macase.setVisible(true); }}3. Composants de linterface graphique

  • b. Boutons radioUne case cocher peut tre affiche individuellement ou dans un groupe. Les boutons radio sont des cases cocher rassembles dans un groupe. A lintrieur du groupe, on ne peut activer quune seule case la fois. La classe java.awt.CheckboxGroup permet de crer des groupes de boutons radio.CheckboxGroup br;Checkbox b1=new Checkbox(Etiquette1,etat1,br); Checkbox bn=new Checkbox(Etiquetten,etatn,br);Prof: R. EL AYACHI*3. Composants de linterface graphiqueEtiquetten est ltiquette du bouton radioetatn est ltat du bouton: true ou falsebr est le nom du groupe des boutons radio

  • 4. Listes droulantesLes listes droulantes sont des composants trs apprcis dans les interfaces utilisateurs. Ils permettent de slectionner des lments dans une liste.a. Listes choix uniqueJava permet de crer une liste droulante choix unique par lintermdiaire de la classe java.awt.Choice.lobjet Choice permet lutilisateur de choisir une valeur unique parmi une liste. La syntaxe est la suivante:Choice maListe=new Choice();maListe.addItem(choix 1); maListe.addItem(choix n); Prof: R. EL AYACHI*3. Composants de linterface graphique

  • Gestion des slections:maListe.select(indice); //slectionne un lment par son indicemaListe.select(lment); //slectionne un lment par son contenumaListe.countItems(); //retourne le nombre dlments de la listemaListe.getItem(n); //retourne le contenu de llment nmaListe.getSelectedItem(); //retourne le contenu de llment slectionnmaListe.getSelectedIndex(); // retourne lindice